Hast du die Gross und klein Schreibung beachtet?
Das laden erfolgt so. Vieleicht hilft das den Fehler zu finden:
Delphi-Quellcode:
TDrawDLLProcedure= procedure (CanvasHandle: HDC; Backgroundcolor,Bordercolor, BalkenColor: TColor; width,height: integer; var FFTData: TFFTandWaveData) stdcall;
TVersionDLLProcedure= function: integer; stdcall;
procedure TVisualisierungEinstellungen.AddPlugin(filename: string);
begin
IF FileExists(filename) then
begin
ListederVisualisierungen.Add(TEinzelneVisualisierung.Create);
TEinzelneVisualisierung(ListederVisualisierungen.last).filename := filename;
TEinzelneVisualisierung(ListederVisualisierungen.last).modus := 1;
TEinzelneVisualisierung(ListederVisualisierungen.last).DllHandle:=LoadLibrary(PChar(filename));
if TEinzelneVisualisierung(ListederVisualisierungen.last).DllHandle <> 0 then
begin
@TEinzelneVisualisierung(ListederVisualisierungen.last).VersionDLLProcedure := GetProcAddress(TEinzelneVisualisierung(ListederVisualisierungen.last).DllHandle, 'getVersion');
IF nil<>@TEinzelneVisualisierung(ListederVisualisierungen.last).VersionDLLProcedure then
begin
If TEinzelneVisualisierung(ListederVisualisierungen.last).VersionDLLProcedure=1 then
begin
@TEinzelneVisualisierung(ListederVisualisierungen.last).DrawDLLProcedure := GetProcAddress(TEinzelneVisualisierung(ListederVisualisierungen.last).DllHandle, 'draw');
end
else
begin
ListederVisualisierungen.Delete(ListederVisualisierungen.count-1);
showmessage('Dateiversion wird nicht unterstützt');
end;
end
else
begin
ListederVisualisierungen.Delete(ListederVisualisierungen.count-1);
showmessage('Dateiversion wird nicht unterstützt');
end;
end
else
begin
ListederVisualisierungen.Delete(ListederVisualisierungen.count-1);
showmessage('kein passendes Plugin');
end;
end;
end;