Babybaer Geschrieben 10. September 2003 Geschrieben 10. September 2003 Entwickle mit Visual C++ 7.0.Net Habe mir eine DLL geschrieben die ich mit LoadLibrary(Name.dll) lade. Mit GetProcAddress(m_hlib,Methode) rufe ich eine Methode. Jetzt habe ich das Problem, wie kann ich mehrerer Parameter an die Methode aus der DLL übergeben? Help me? Bin für jede Idee offen. Danke Zitieren
Klotzkopp Geschrieben 10. September 2003 Geschrieben 10. September 2003 GetProcAdress "ruft" gar nichts, sondern gibt einen Zeiger auf die Funktion zurück. Mit dem kannst du die Funktion dann aufrufen. Zitieren
Babybaer Geschrieben 10. September 2003 Autor Geschrieben 10. September 2003 Ja Ok sorry etwas falsch ausdrückt. So habe ich es geschrieben. Und wo oder wie kann ich nun die Parameter übergeben? FARPROC m_Farproc; if(!m_Farproc) m_Farproc = GetProcAddress(m_hlib,"StartWindowsHook"); m_Farproc(); Zitieren
Klotzkopp Geschrieben 10. September 2003 Geschrieben 10. September 2003 Du musst den Rückgabewert von GetProcAddress auf den passenden Funktionszeigertyp casten. FARPROC ist da eigentlich nur ein Dummy-Typ. Zitieren
Crush Geschrieben 10. September 2003 Geschrieben 10. September 2003 So ungefähr müßte das aussehen: typedef int (* pFarproc)(int,int); pFarproc pproc= (pFarproc)GetProcAddress(m_hlib,"StartWindowsHook"); if(pproc) int rwert=pproc(1,2); Die Parameter müssen 1:1 der Funktion entsprechen, damit alles sicher funktioniert, weil lediglich der Funktionszeiger pFarproc ohne weitere Prüfung befüllt wird. Zitieren
Babybaer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 ja Danke habe es schon hinbekommen. :-) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.