Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Vars in und aus einem Plugin übergeben (https://www.delphipraxis.net/47402-vars-und-aus-einem-plugin-uebergeben.html)

franktron 10. Jun 2005 15:07


Vars in und aus einem Plugin übergeben
 
Also ich habe eine DLL und will nun das die DLL genau die selben vars wie die EXE hat mit den selben werten wobei die EXE als auch die DLL die Werte änder können wie kann ich das machen ???????

jfheins 10. Jun 2005 15:11

Re: Vars in und aus einem Plugin übergeben
 
Pointer ?

Du müsstest dann z.B. PChar verwenden, dann kannst du afaik die Speicherstelle ändern, und das programm (mit dem gleichen Pointer) kann dan auch daraf zugreifen ...

SirThornberry 10. Jun 2005 15:52

Re: Vars in und aus einem Plugin übergeben
 
oder eben mit vars, niemand hintert dich dran funktionen aus der DLL genau so zu deklarieren wie du es in einer Exe machen würdest. Du solltest eben nur die meldung in der DLL oben berücksichtigen, also das mit den Strings.

franktron 13. Jun 2005 08:50

Re: Vars in und aus einem Plugin übergeben
 
Das weis ich auch das man das so machen kann.

Also ich will eigentlich das ich eine Globale Var hab und sobald ich die im Prog ändere das sie sich auch in der DLL ändert slotte eigentlich kein Prob sein aber anedersherum???

Wie geht das das ich eine Var in der DLL ändere und dem Hauptprog sage hab neunen Wert ???

brechi 13. Jun 2005 09:40

Re: Vars in und aus einem Plugin übergeben
 
das geht so nicht, du müsstest dir ne funktion in der dll schreiben und exportieren die folgendes macht:

Delphi-Quellcode:
// dll

var globalvar: integer;
function myglobalvar: pointer; stdcall;
begin
  result := @globalvar;
end;

exports
  myglobalvar;

// exe

var globalvar: integer;

var h: thandle;
    myglobalvar: function: pointer; stdcall;
begin
  h := LoadLibrary('mydll.dll');
  @myglobalvar := GetProcAddress(h,'myglobalvar');
  @globalvar := myglobalvar;
           //variable vom programm auf selben
           //speicherbereich setzen wie von der dll
end.

franktron 13. Jun 2005 09:59

Re: Vars in und aus einem Plugin übergeben
 
Ja und wie sage ich meinem Programm das es die Var meu laden soll

brechi 13. Jun 2005 17:37

Re: Vars in und aus einem Plugin übergeben
 
ändert entweder die dll oder das programm die variable ab, so gehtschieht das mit der selben variable, da sie auf den selben speicherbereich zeigt. du musst da nicht mehr machen


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz