Um Strings in DLLs und Programmen zu verwenden, brauchst du wegen der dynamischen Speicherverwaltung die
sharemem.dll, die bei Delphi dabei ist. Das kannst du aber umgehen, wenn du statt
String PChar verwendest:
Delphi-Quelltext
1: 2: 3: 4:
| procedure showm(m:PChar); begin showmessage(m); end; |
Und im Programm:
Delphi-Quelltext
1: 2: 3:
| ... showm(PChar(MyString)); ... |
Die Aufrufkonvention kannst du, wenn du die DLL nur mit Delphi verwendest, lassen wie sie ist. Ansonsten bietet sich
stdcall an.
Religionskriege sind nur Streitigkeiten darüber, wer den cooleren imaginären Freund hat