Hallo Leidensgenossen,
<br>
habe folgendes Problem. Lade eine DLL wie folgt...<br>
<PRE>
Result := nil;
pHandle := LoadLibrary(PChar(speFileName));
if pHandle <> 0 then
begin
@pGetReporter := GetProcAddress(pHandle, 'GetReporter');
if @pGetReporter <> nil then
begin
Result := pGetReporter;
// Handle merken
Result.DllHandle := pHandle;
end
else
RaiseLastWin32Error;
end
else
RaiseLastWin32Error;
</PRE>
<br>
Nun liegt aber diese DLL nicht im selben Verzeichnis wie mein EXE-File und die restlichen DLL's. Die Function GetReporter ist in der DLL exportiert und liefert mir ein Objekt von TReporterAbgeleitet. TReporterAbgeleitet ist wiederum eine Klasse die von TReporter abgeleitet ist (Wie der Name schon sagt ). TReporter befindet sich aber in einem anderen Projekt, das mir auch eine andere DLL liefert. <br>
Jetzt zum eigentlichen Problem... befinden sich beide DLL's im selben Verzeichnis funktioniert der Aufruf prima, d.h. ich kann über das Objekt, das ich von GetReporter bekomme, auf seine Methoden und Funktionen zugreifen. Liegen die beiden DLL's nicht im selben Verzeichnis krieg ich eine Exception vom Typ EAbstractError (Abstrakter Fehler).<br>
Kann mir jemand helfen????<br>
Gruß DG
<br>
habe folgendes Problem. Lade eine DLL wie folgt...<br>
<PRE>
Result := nil;
pHandle := LoadLibrary(PChar(speFileName));
if pHandle <> 0 then
begin
@pGetReporter := GetProcAddress(pHandle, 'GetReporter');
if @pGetReporter <> nil then
begin
Result := pGetReporter;
// Handle merken
Result.DllHandle := pHandle;
end
else
RaiseLastWin32Error;
end
else
RaiseLastWin32Error;
</PRE>
<br>
Nun liegt aber diese DLL nicht im selben Verzeichnis wie mein EXE-File und die restlichen DLL's. Die Function GetReporter ist in der DLL exportiert und liefert mir ein Objekt von TReporterAbgeleitet. TReporterAbgeleitet ist wiederum eine Klasse die von TReporter abgeleitet ist (Wie der Name schon sagt ). TReporter befindet sich aber in einem anderen Projekt, das mir auch eine andere DLL liefert. <br>
Jetzt zum eigentlichen Problem... befinden sich beide DLL's im selben Verzeichnis funktioniert der Aufruf prima, d.h. ich kann über das Objekt, das ich von GetReporter bekomme, auf seine Methoden und Funktionen zugreifen. Liegen die beiden DLL's nicht im selben Verzeichnis krieg ich eine Exception vom Typ EAbstractError (Abstrakter Fehler).<br>
Kann mir jemand helfen????<br>
Gruß DG
Comment