Hi,
as you know TM 2.0 will be Leopard only. Fine. But what about DIALOG2? Should DIALOG2 also compiled as Leopard only? With the new SDK 10.5 you have some "tiny" improvements to enhance DIALOG2.
Regards,
--Hans
Hi,
On 27 Mar 2008, at 10:30, Hans-Joerg Bibiko wrote:
as you know TM 2.0 will be Leopard only. Fine. But what about DIALOG2? Should DIALOG2 also compiled as Leopard only? With the new SDK 10.5 you have some "tiny" improvements to enhance DIALOG2.
I tried to answer this question by myself. Thus I tried to compile DIALOG2 against SDK 10.5 and I set the deployment target to SDK 10.4 in order to use some of the new feature coming with Leopard also with Tiger.
[BTW I had to rename the method initWithOptions in CLIProxy @implementation CLIProxy + (id)proxyWithOptions:(NSDictionary*)options; { return [[[[self class] alloc] initWithOptions1:options] autorelease]; }
- (id)initWithOptions1:(NSDictionary*)options ... ]
Fine. On Leopard DIALOG2 runs perfectly. E.g. I could append an accessory view to Alert.
Then I tried to run this DIALOG2.tmplugin on Tiger. But here I only get the error message: error reaching server
ergo it couldn't find the DialogServerProtocol
OK. Then I downloaded DIALOG2 again and I compiled it on Tiger. Everything went fine. But the error is the same (?)
Is there no way to compile DIALOG2 on/for Tiger anymore? Are my settings wrong?
The issue is I would like to implement the Open/Save panel with accessory views to DIALOG2 and some other things.
PLEASE, is there someone who can give me an hint.
Many thanks in advance,
--Hans
On 28 Mar 2008, at 10:50, Hans-Joerg Bibiko wrote:
On 27 Mar 2008, at 10:30, Hans-Joerg Bibiko wrote:
as you know TM 2.0 will be Leopard only. Fine. But what about DIALOG2? Should DIALOG2 also compiled as Leopard only?
Not if we release it with TM 1.x (and that is the current plan, although I am being a little slow in responding to ciaran and joachim’s requests wrt a 1.x update).
With the new SDK 10.5 you have some "tiny" improvements to enhance DIALOG2.
I tried to answer this question by myself. Thus I tried to compile DIALOG2 against SDK 10.5 and I set the deployment target to SDK 10.4 in order to use some of the new feature coming with Leopard also with Tiger.
[BTW I had to rename the method initWithOptions in CLIProxy
The problem with that one is that +alloc returns ‘id’ and Apple introduced a method also named initWithOptions: but taking another argument type, so gcc errors because of wrong type.
IMO this should be a gcc warning about ambiguous type overload for the selector, but Apple disagrees with me, so either we should probably name it initWithOptionsDictionary: or we should typecast the result of +alloc to CLIProxy*.
Fine. On Leopard DIALOG2 runs perfectly. E.g. I could append an accessory view to Alert.
Then I tried to run this DIALOG2.tmplugin on Tiger. But here I only get the error message: error reaching server
I recently updated the code to find the server name (now the server name is dynamic). Did you compile latest svn version of both the plug- in and the helper command?
Also, the D2 plug-in is currently dependent on latest D1 from the svn repository for the compatibility mode to work correctly.
Is there no way to compile DIALOG2 on/for Tiger anymore? Are my settings wrong?
I have not tested this myself, unless you need it to work on both systems you can leave it be for now and I or someone else will do the proper testing when it is time for a release.
Just don’t use Leopard-only stuff in patches you intend to submit (for now). Or if you do, be sure it gracefully degrades to Tiger.
Hi,
thanks for the reply.
[BTW I had to rename the method initWithOptions in CLIProxy
The problem with that one is that +alloc returns ‘id’ and Apple introduced a method also named initWithOptions: but taking another argument type, so gcc errors because of wrong type.
IMO this should be a gcc warning about ambiguous type overload for the selector, but Apple disagrees with me, so either we should probably name it initWithOptionsDictionary: or we should typecast the result of +alloc to CLIProxy*.
I see. I would prefer renaming.
Fine. On Leopard DIALOG2 runs perfectly. E.g. I could append an accessory view to Alert.
Then I tried to run this DIALOG2.tmplugin on Tiger. But here I only get the error message: error reaching server
I recently updated the code to find the server name (now the server name is dynamic). Did you compile latest svn version of both the plug-in and the helper command?
I used the entire Dialog2 folder svn version 9218.
Also, the D2 plug-in is currently dependent on latest D1 from the svn repository for the compatibility mode to work correctly.
What do you mean?
Is there no way to compile DIALOG2 on/for Tiger anymore? Are my settings wrong?
I have not tested this myself, unless you need it to work on both systems you can leave it be for now and I or someone else will do the proper testing when it is time for a release.
OK.
Just don’t use Leopard-only stuff in patches you intend to submit (for now). Or if you do, be sure it gracefully degrades to Tiger.
No, up to now everything is compatible with Tiger. But there should be a way to write Leopard code and mark this as "only compile it with SDK 10.5", but I cannot remember how.
Thanks,
--Hans
On 28 Mar 2008, at 17:07, Hans-Joerg Bibiko wrote:
Also, the D2 plug-in is currently dependent on latest D1 from the svn repository for the compatibility mode to work correctly.
What do you mean?
This is because of the DIALOG variable which MUST point to the D2 plug- in helper. If D1 is initialized after D2 it will overwrite D2’s variable. We made a change in D1 to prevent this.
Just don’t use Leopard-only stuff in patches you intend to submit (for now). Or if you do, be sure it gracefully degrades to Tiger.
No, up to now everything is compatible with Tiger. But there should be a way to write Leopard code and mark this as "only compile it with SDK 10.5", but I cannot remember how.
AFAIK you must compile with the 10.4u SDK on Leopard, otherwise it will link to the new mangled symbols for general UNIX stuff (not present on Tiger) — making it hard to use Leopard-only API (at least outside Cocoa, where you can’t rely on just dynamically querying message receivers).
Maybe there is a way to prevent that and still use the 10.5 SDK, I have not looked into that.
On 29.03.2008, at 15:25, Allan Odgaard wrote:
On 28 Mar 2008, at 17:07, Hans-Joerg Bibiko wrote:
Also, the D2 plug-in is currently dependent on latest D1 from the svn repository for the compatibility mode to work correctly.
What do you mean?
This is because of the DIALOG variable which MUST point to the D2 plug-in helper. If D1 is initialized after D2 it will overwrite D2’s variable. We made a change in D1 to prevent this
OK. I see.
####
I also got rid of the issue that I wasn't able to compile DIALOG2 on my Tiger system. I always got the error: instance Dialog2 plug-in doesn't have proper initializer
Then I had a look at DIALOG2 and I found it (I believe ;):
in Resources/Info.plist > the value for key 'NSPrincipalClass' was empty
I set it to 'Dialog2' and everything works like a charm :)
It seems that Leopard handles it a bit 'lazier'.
Cheers,
--Hans