![]() |
OLE Anbindung mi David3
Ich versuche mit Delphi per OLE auf DAVID zu zugreifen.
Beide Type-Libraries DvApi32_TLB und InfoCenter_TLB sind eingebunden. Die DDL Version ist sowohl in meinem Programm als auch im DAVID Verzeichnis gleich. Hier der einfach Codeschnipsel. Die Variable TobitApp wird anscheinend richtig initialisiert, weil ich hier auch TobitApp.VIntern korrekt abfragen kann.
Code:
Die Funktion LogOn oder GetAccount für in allen Fällen immer zum Fehler "Nicht initialisiertes Objekt".
...
var TobitApp: IApplication; //DVapi32_TLB.DavidAPI; TobitAcc: DVapi32_TLB.Account; begin TobitApp := CreateOLEObject('DVOBJAPILIB.DvISEAPI') as IApplication; TobitAcc := TobitApp.GetAccount('DAVID', '*******', '*******'); // oder TobitAcc := TobitApp.LogOn('DAVID', Unassigned, Unassigned, Unassigned, Unassigned, 'AUTH'); ... Kann mir jemand einen Tip geben wie ich hier weiterkomme? Danke! |
AW: OLE Anbindung mi David3
Was sagt der Hersteller dazu?
![]() ![]() ![]() |
AW: OLE Anbindung mi David3
... weil ich grad über diesen Thread stolpere , auf der Suche nach einem ähnlichen Thema.
Meine "Fast-Connect-Methode":
Delphi-Quellcode:
... funktioniert seit David-7 bis David-13.
var
goApp: IApplication; goAccount : Account = nil; g_hr : HResult; g_v : OleVariant; function fktDV_FastConnect () : boolean; var bRet : boolean; begin if goAccount = nil then begin bRet := false; g_hr := CLSIDFromString('DVOBJAPILib.DvISEAPI', gDVAPP_clsid); if not FAILED(g_hr) then begin g_hr := CoCreateInstance(gDVAPP_clsid, Nil, CLSCTX_INPROC_SERVER,IID_IApplication, goApp); if not FAILED(g_hr) then begin VariantInit(g_v); OleCheck( g_hr ); try goAccount:=goApp.Logon (g_v, g_v, g_v, g_v, g_v, 'AUTH'); bRet := True; except bRet := false; end; end; end; end; result := bRet; end; Hoffe es hilft. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz