On Nov 9, 2013, at 11:52 AM, Ludo Brands wrote:

afaik DDEInitialize is defined slightly different in Freepascal from Delphi.

This creates a valid DDE string handle for me:
<snip>

Thanks, Ludo! It took me until today to try it, because I don't have a Windows machine at home, only Macs and Linux, and they don't do DDE ... Alas, when I got to work this morning, it didn't work ... your excellent sample returned the same kind of bogus data my routines were giving me.

However, it certainly put me on the path to solving the issue. I figured that if you said it worked, it must work - therefore the problem must be something else. A careful examination of the output from my DDE monitor revealed a strange "shifting" of data - the string handle was being returned as the task, and other things were "off". It finally dawned on me to look closer at the version of Lazarus and FPC I had installed - it was the 64 bit compiler. I happened to have a 64 bit laptop and that's what I picked for installation and evaluation (back in June). I reinstalled the latest from the website with the 32 bit compiler and everything worked fine.... including your sample, of course!

I don't know if this should be reported as a bug or not - I'm not sure that the Microsoft C compiler will correctly make these calls on Win64, either. We don't normally make 64 bit targets, so I will do some further investigations and let the list know. We're probably the only company on earth that still depends on DDE, but that was the last critical piece keeping us from shifting entirely to Lazarus and Free Pascal, and now that piece is in place. Goodbye MFC! ;>)

Thanks again and

Be well,
Dave H.






--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to