Forum: Algorithmen, Datenstrukturen und Klassendesign
by Der schöne Günther,
3. Apr 2013
Das habe ich garnicht gesehen. Nur dass im C#-Teil nichts zur Aufrufkonvention angegeben war - Und wenn mich nicht alles trügt, ist das auch bei C# immer stdcall. Das würde mir persönlich schon als Grund für den Absturz reichen :-D
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Der schöne Günther,
3. Apr 2013
Der Absturz liegt daran, dass DeddyH die cdecl-Aufrufkonvention verwendet hat, C# aber standardmäßig stdcall verwendet.
Das hättest du entweder auf stdcall abändern oder bei deinem DllImport-Teil bei C# anpassen müssen:
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Der schöne Günther,
3. Apr 2013
So ganz habe ich das in Delphi jetzt immer noch nicht verstanden, aber wenn die Funktion endet, dann gibt es auch keine Referenz mehr auf den String und er wird entfernt. PAnsiChar kopiert, laut Hilfe, den String nicht, deine Funktion gibt letztendlich eine Adresse auf etwas zurück, dass wohl direkt wieder abgeräumt wird.
Mit StrNew scheint man explizit den String auf den Heap zu schreiben und...