Zitat von
LokutusvB:
... konnte bisher im Netz so überhaupt keinen Lösungsansatz finden...
Hast du den OleViewer (Beitrag #15) heruntergeladen und installiert?
Ohne dieses Tool braucht du gar nicht anfangen.
Die Variable "field" wird in deinem Sourcecode nicht initialisiert.
Dann ist es logisch, dass zur Laufzeit die
Exception "Variante referenziert kein Automatisierungsobjekt" kommt.
Nur wenn eine Variantvariable ein IDispatch-Interface enthält, darf man mit dem Punkt-Operator eine Methode aufrufen oder auf ein Property zugreifen.
Zur Verdeutlichung folgendes Beispiel:
Delphi-Quellcode:
var
test:OleVariant;
begin
test := ..... // irgendwas
if VarType(test) <> varDispatch then
ShowMessage('kein Dispatch-Interface vorhanden!')
else
begin
test.MethodeAufrufen;
test.Left := test.Left + 1; // Property lesen/schreiben
end;
Das heisst also, dass man zum Debuggen immer schauen sollte, welchen VarType eine Variantvariable hat.