Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dynamic DLL und overload (https://www.delphipraxis.net/158134-dynamic-dll-und-overload.html)

ATS3788 7. Feb 2011 09:09

Dynamic DLL und overload
 
Dynamic DLL und overload

ich nehme mal am das geht nicht oder?

DeddyH 7. Feb 2011 09:11

AW: Dynamic DLL und overload
 
Kannst Du die Frage einmal präzisieren? Ich verstehe nur Bahnhof.

ATS3788 8. Feb 2011 16:25

AW: Dynamic DLL und overload
 
Ei ja ich wollte nur wissen ob man bei dyn DLLs
Funktionen mit overload überladen kann.

Delphi-Quellcode:
function bla(s: string) :boolean; overload;
function bla(i : integer):boolean; overload;
So wie ich das sehe kann das nicht gehen, weil
man ja einen Zeiger übergibt und man
die Unterscheidung mit zb bla1 und bla2 macht.

DeddyH 8. Feb 2011 16:43

AW: Dynamic DLL und overload
 
Ich weiß zwar nicht genau, was mit dyn DLLs gemeint ist (meinst Du dynamisch geladen, also LoadLibrary?), aber ich würde das einfach mal versuchen (wobei String als Parameter keine gute Idee ist).

[edit] Gerade ausprobiert: wenn man die Funktion überlädt und in der exports-Klausel die Parameter mit angibt, dann kompiliert es zumindest. Weiter hab ich nicht versucht. [/edit]

SirThornberry 8. Feb 2011 17:36

AW: Dynamic DLL und overload
 
Das kann eigentlich nicht funktionieren. Denn bei GetprocAddress wird nur der Name mitgegeben.

Ich kann mir auch nicht vorstellen das bei statischem Linken das ganze anders aussieht.

chaosben 8. Feb 2011 17:54

AW: Dynamic DLL und overload
 
Da hilft nur wrappen. :stupid:

himitsu 8. Feb 2011 18:03

AW: Dynamic DLL und overload
 
Nja, das mit der Klasse ist soein Problem, wenn du wirklich DLLs nutzt, dann haben die EXE und DLL ihre eigene RTTI, also die Infos über den Aufbau der Klasse und dieses muß nicht gleich sein, selbst wenn es die selbe Klasse ist, da beim Compilieren auch einiges entfallen sein kann.

Also ja, man kann Oberload exportieren, indem man dann entsprechend unterschiedliche Namen vergibt, beim Export und beim Import dieses ebenfalls mit angibt. Die Parameterlist, als Unterscheidung, ist für den Compiler, damit er weiß was er da exportieren soll ... für den Import ist dann aber der Name wichtig.

PS: irgendwo in meinem himXML-Thread ist wohl irgendwo noch eine alte DLL-Version versteckt, wo ich die Klassen über die DLL-Grenzen weitergereicht hab, aber das war soein Krampf, daß dieses wieder ausgebaut wurde.


Verwende hier lieber Packages. (das sind spezielle DLL, wo die RTTI und der Speichermanager geshared werden)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 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