AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DynArr: Dll <-> Programm

Ein Thema von StanY · begonnen am 12. Dez 2004 · letzter Beitrag vom 25. Dez 2004
 
StanY

Registriert seit: 6. Aug 2004
145 Beiträge
 
#1

DynArr: Dll <-> Programm

  Alt 12. Dez 2004, 12:48
Hallo. Mal wieder habe ich ein Problem.

Ich habe ein Programm, welches bislang eine Dll besitzt und mit der recht oft Daten austauscht.
Zu diesem Zweck habe ich zwei Records geschrieben. Eines, welches das Haupt-Programm benutzt, um Daten an die Dll zu senden und ein anderes, welche die Dll benutzt etc.

Das senden an die Dll scheint wunderbar zu klappen.
Allerdings die Rückgabe nicht, sobald das dynamische Array ins Spiel kommt:

DllType.pas (Records für Programm und Dll, sind beide eingebunden)
Delphi-Quellcode:
...
type
  TBotType = record
    Cmd: PChar;
    Msg: Array of PChar;
  end;

  TDllType = record
    Cmd: Array of PChar;
    Status: Integer;
  end;
...
Dll-Code
Delphi-Quellcode:
function DllNotify(DllType: TDllType): TBotType;
begin
  Result.Cmd := 'PONG';
  SetLength(Result.Msg,1);
  Result.Msg[0] := 'DSADGFASDJKE';
end;
Hautprogramm
Delphi-Quellcode:
    BotType := dllFunc[i](DllType); //Hiermit wird DllType an die DllFunction DllNotify gesendet

    WriteLn(BotType.Cmd); //Ausgabe von BotType.Cmd (klappt prolemlos)
    WriteLn(BotType.Msg[0]); //FEHLER
Ich denke, es liegt daran, dass man entweder gar keine dynamischen Arrays so übergeben kann (wenn ja, wie kann cih es sonst realisieren).

edit: Das Komische ist, dass WriteLn(BotType.Msg[0]); noch korrekt ausgegeben wird und dann der Fehler kommt (invalid Pointer).
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz