Hi NuclearPing,
erst mal Dank für deine Antwort.
leider ist das nicht mein Problem. Ich wußte auch nicht so richtg, wie das formulieren sollte.
Der Punkt ist folgender:
Ich mache genau das, was du geschrieben hast.
Delphi-Quellcode:
Handle := LoadLibrary (APluginFileName);
if (
Handle = 0)
then
raise Exception.Create ('
TModulePlugin.Create: LoadLibrary failed to load Plugin Module' + #13#10#13#10 +
APluginFileName);
CreateChild := GetProcAddress (
Handle, '
CreateChild');
if @CreateChild =
nil then
raise Exception.Create ('
TModulePlugin.Create: Function "CreateChild" not found in Plugin Module');
GetPluginVersion := GetProcAddress (
Handle, '
GetPluginVersion');
if @GetPluginVersion =
nil then
raise Exception.Create ('
TModulePlugin.Create: Function "GetPluginVersion" not found in Plugin');
{...}
Jetzt habe ich meine Kompo.
Delphi-Quellcode:
TMyCompo =
class(TComponent)
private
FAPIVersion: Integer;
procedure SetAPIVersion(
const Value: Integer);
function GetAPIVersion : Integer;
protected
public
constructor Create(AOwner : TComponent; DLLHandle: Cardinal);
reintroduce;
Destructor Destroy;
override;
published
property APIVersion : Integer
read GetAPIVersion
write SetAPIVersion;
end;
function TMyCompo.GetAPIVersion;
begin
FAPIVersion := GetPluginVersion;
// lesen der versionsnummer aus DLL (Handle hab ich mal weg gelassen, muß ich bei mir nicht angeben
end;
Da passiert bei mir zur Designzeit aber nichts im
OI der Compo. Ich denke halt, dass das daran liegt, das die
DLL ja noch nicht dynamisch geladen wurde. Erst zur Laufzeit
Gruß oki