Veröffentlicht 10. September 200321 j 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
10. September 200321 j GetProcAdress "ruft" gar nichts, sondern gibt einen Zeiger auf die Funktion zurück. Mit dem kannst du die Funktion dann aufrufen.
10. September 200321 j 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();
10. September 200321 j Du musst den Rückgabewert von GetProcAddress auf den passenden Funktionszeigertyp casten. FARPROC ist da eigentlich nur ein Dummy-Typ.
10. September 200321 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.