Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#18

Re: OpenOffice und OLE, wie ?

  Alt 8. Jul 2009, 09:35
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.
Andreas
  Mit Zitat antworten Zitat