Thema: Delphi DynArr: Dll <-> Programm

Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#7

Re: DynArr: Dll <-> Programm

  Alt 19. Dez 2004, 17:06
Gerne doch.


Delphi-Quellcode:
type
  TBotType = record
    Cmd: PChar;
    iLen : Integer; // Anzahl der Msg's
    Msg: array [0..0] of PChar;
  end;

  TDllType = record
    Status: Integer;
    iLen : Integer; // Anzahl der Cmd's
    Cmd: array [0..0] of PChar;
  end;
...
So sollten erstmal die Datentypen aussehen!
Grund: GetMem besort Blockweise speicher!

In der DLL muss es zwei Funktionen geben:
Delphi-Quellcode:
function CreateBotType(Cmd : PChar; Msg : array of PChar) : PBotType;
begin
  Größe Berechnen
  GetMem Größe rufen
  Daten hineinkopieren
end

procedure DestroyObject(p : Pointer);
begin
  FreeMem(p);
end;
Das wichte bei der Sache ist, Speicher der in einer Dll geholt wird, muss in dieser auch wieder freigegeben werden. Deswegen Create und Destroy.

Ich hoffe das reicht!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat