Deutsch
Forum

Suche Beispiel für ImportDLL bzw. ImportFunc

 

Jac
de
Lad
Der Titel sagts schon. Ähhhm, hat jemand vielleicht ein (sinnvolles) Beispiel?

Der Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
13.11.2007  
 




Jörg
Sellmeyer
Wenn Du z.B. die Listview.dll von Frank benutzt:
KompilierenMarkierenSeparieren
Jetzt kannst Du alle Funktionsdefinitionen in der Includedatei auskommentieren und hast 40 Zeilen in Deinem Programm gespart - abgesehen von der größeren Sicherheit und Geschwindigkeit beim Zugriff auf die Funktionen.
Du kannst jetzt alle Funktionen mit dem Zusatz LV aufrufen:

LVCreateListview(...)

Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
13.11.2007  
 




Jac
de
Lad
Ah, ok, jetzt versteh ichs.

Danke,
Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.11.2007  
 




Jac
de
Lad
Ah, geile Sache!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.11.2007  
 




Jac
de
Lad
Und die Variable hdll& brauche ich dann, um die DLL wieder mit FreeDLL freizugeben??

Und wie ist das mit ImportFunc()? Ist die Variable da überhaupt nötig? Soweit ich gelesen habe ist das die Addresse der Funktion, das dürfte nur selten notwendig sein.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.11.2007  
 




Jörg
Sellmeyer
Jac
Und die Variable hdll& brauche ich dann, um die DLL wieder mit FreeDLL freizugeben??


Genau.

Jac
Und wie ist das mit ImportFunc()? Ist die Variable da überhaupt nötig? Soweit ich gelesen habe ist das die Addresse der Funktion, das dürfte nur selten notwendig sein.


Das ersetzt quasi die frühere Anmeldung einer einzelnen Funktion mit Def.
Wenn Du also aus einer Dll nur eine, b.z.w. wenige Funktionen benötigst, kann es evtl. sinnnvoll sein, diese mit ImportFunc(hDll&,Name$,Alias$) einzubinden. Vorher mußt Du dann aber wieder UseDll einsetzen.
Wenn Du noch (aus welchen Gründen auch immer) Call einsetzen willst, brauchst Du das Handle, sonst ist es wahrscheinlich unwichtig. Ich glaube kaum, daß man die einzelnen Funktionen wieder irgendwie freigeben muß.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
14.11.2007  
 




Jac
de
Lad
Aber es ist doch umständlicher, wenn ich erst die DLL laden muss und dann wieder freigeben muss, als wenn ich Def nehme...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.11.2007  
 




Jörg
Sellmeyer
Schon, aber Profan greift schneller auf die Funktion zu und ist sicherer gegen Hacker geschützt.
Lies Dir mal diesen Thread dazu durch:
[...] 
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
14.11.2007  
 




Jac
de
Lad
Aha. Aber wieso ist das sicherer gegen Hacker? Selbst wenn die DLL statisch gelinkt ist hilft es nicht, wenn sie manipuliert ist...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.11.2007  
 




Nico
Madysa
Ich hab das so verstanden, dass die meisten Hacker versuchen, das Programm, während es abläuft, umzuleiten zu einer falschen Funktion. Wenn das Programm die Funktionen, die es braucht, bereits am Anfang zusammensammelt, ist das unmöglich.
iF, Frank, hab ichs richtig erklärt?
 
Nico Madysa
14.11.2007  
 




RGH
Jac
Aber es ist doch umständlicher, wenn ich erst die DLL laden muss und dann wieder freigeben muss, als wenn ich Def nehme...


Das DEF ist ja nur eine Definition. Erst beim Aufruf wird die DLL geladen, die Funktion ausgeführt und die DLL wieder entladen. Sobald man die DLL-Funktion bzw. andere Funktionen aus derselben DLL öfter benutzt, wird die DLL unnötig oft geladen und entladen, was beides relativ viel Zeit kostet. Und wenn man die DLL-Funktion nur einmal aufrufen will, geht es noch einfacher mit der External-Funktion.

Außerdem gibt es etliche DLLs mit eigener Datenhaltung, etwa für Einstellungen. Diese müssen vor ihrem ersten Aufruf auch bei Definition mit DEF mit UseDLL geladen werden und nach dem letzten Aufruf wieder entladen.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
14.11.2007  
 




Jac
de
Lad
Aha, ok.

@Nico: Nichts ist unmöglich!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.11.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.607 Betrachtungen

Unbenanntvor 0 min.
Sven Bader03.08.2023
Uwe Lang17.07.2018
Peter Max Müller29.10.2017
Andreas Koch07.03.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie