I can transfer information from Delphi program to FPC, but they have different memory managers or something, so pointers are the same numbers, but different physical addressed. It doesn't sound extraordinary, so, please, help with example or anything!
Mailing lists / fpc-pascal / 2006-04
how to pass PChar (or any pointer) from Delphi to FPC ?
6 messages · 4 people ·
- ППётр Косаревский 3
- AAlexey Pavluchenko 1
- FFelipe Monteiro de Carvalho 1
- JJonas Maebe 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Пётр Косаревский wrote 5 lines
How do you transfer these pointers and what are you trying to accomplish? You generally cannot transfer pointers from one running program to another. It may work by accident in some cases, but it is not something you can rely on (even if both programs are compiled by the same version of the same compiler on the same OS and are running on the same machine).
Jonas
This message was by an error sent to Jonas Maebe privately. Addendum1: implementing DDE, OLE etcetera is not that easy in this case, because requires dummy window not only under FPC, but even under Delphi (modifying message loops of control elements like the main window of the main form in Delphi is not that easy too). Addendum2: there was good post on message loops here http://lists.freepascal.org/lists/fpc-pascal/2002-August/003764.html
Show quoted text 15 lines
I can transfer information from Delphi program to FPC, but they have different memory…
Hello Пётр,
Tuesday, April 04, 2006, 11:48:33 AM, you wrote:
ПК> I can transfer information from Delphi program to FPC, but they ПК> have different memory managers or something, so pointers are the ПК> same numbers, but different physical addressed. It doesn't sound ПК> extraordinary, so, please, help with example or anything!
Maybe the memory-mapped files will help. Look up WinAPI reference for CreateFileMapping and related functions.
Show quoted text 7 lines
Thank you, it seems to be correct way to do what I want.
Sorry for generally windows programming question in this mail list.
But what we know: maybe an unit, implementing such functionality OS independent (with Windows.CreateFileMapping under windows and something else under something other) would not be useless? But it's rather developers' question.
Пётр Косаревский wroteSorry for generally windows programming question in this mail list. But what we know: maybe an unit, implementing such functionality OS independent (with Windows.CreateFileMapping under windows and something else under something other) would not be useless? But it's rather developers' question.
This kind of thing doesn´t need to be on the runtime library or other core parts.
You can implement it as a group of units that someone can just link to in his programs.
You just need to choose something abstract enougth to be easely implement on Windows and then on Linux. For an example of a component that does it, take a look at TrayIcon located at /components/trayicon on Lazarus.
