Einzelnen Beitrag anzeigen

slemke76

Registriert seit: 29. Mär 2005
Ort: Quakenbrück
146 Beiträge
 
#2

AW: Problem mit Variablendeklaration und Vererbung

  Alt 12. Mär 2022, 16:27
Hallo,

ich glaube, ich bin ein wenig weiter mit Hilfe von Generics:

Delphi-Quellcode:
DLLLoader<IImport>(ExtractFilePath(paramstr(0)), 'Import*.dll');

[...]

function TPDFThread.DLLLoader<T>(Directory, Filemask: string): TArray<T>;
type
  TFNGetImportInterface = function(): IImport; stdcall; //IImport
var
    GetImportInterface: TFNGetImportInterface;
    ImportAdapters: array of IImport;
    [...]

begin
    [...]
        GetImportInterface:=GetProcAddress(libs[j], 'GetInterface');

        // in Array für Rückgabe speichern und Parameter übergeben
        j:=Length(ImportAdapters); inc(j); SetLength(ImportAdapters, j);
        ImportAdapters[j-1]:=GetImportInterface; // über GetInterface wird eine Instanz der enthaltenen Klasse created
        ImportAdapters[j-1].SetParameter(PChar('meinKey'), PChar('meineValue'));
    [...]
Wo ich jetzt hänge: Wie bekomme ich ImportAdapters als result zurück gegeben / gecasted?

Ich habe so etwas hier (https://en.delphipraxis.net/topic/47...e-via-generic/) gefunden, damit wirds irgendwie (?) vielleicht gehen, aber wie ?
Delphi-Quellcode:
  p := GetTypeData(TypeInfo(T));
  Assert(ifHasGuid in p.IntfFlags);
  Supports(Self, p.GUID, Result);
Danke,
Sebastian
  Mit Zitat antworten Zitat