Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Delphi-DLL mit String-Var-Parametern von VB aus aufrufen

  Alt 22. Feb 2006, 12:32
genau, sie windows-api-routinen machen das auch so.
Wenn du es wie die Windowsapi machen willst wäre es das sinnvollste das du einen weiteren Parameter hinzufügst der angibt wieviel speicher zur Verfügung steht (und falls dieser nicht reicht machst du eben nix). Desweiteren würde ich das ganze zu einer funktion umformen die zurück gibt wieviel zeichen in den PChar geschrieben wurden bzw. wie groß der Speicher sein müsste.
Wenn du also 2 Zeischen auf den PChar copieren willst solltest du als Rückgabewert eine 20 setzen. Wenn dann jemand die funktion aufruft mit zu wenig speicher (10 byte) so weiß er durch die Rückgabe der 20 das er das ganze nochmal aufrufen muss mit einer Speichergröße von 20.
Oder im umgekehrten Fall. Es ruft jemand die Funktion auf mit einer Speichergröße von 30. Durch die Rückgabe der 20 weiß der Aufrufer das er nur die ersten 20 zeischen nutzen sollte und der Rest Datenmüll ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat