![]() |
COM Einbinden
Hi ich bin ein bischen unerfahrenmit COM und .NET Framework....
Ich habe ein COM Tool als Typenbiblothek installiert und jetzt als Symbol inmeinerActive X Leiste.... Dashabeich runtergezogen..... In der uses stehtjetzt die .pas aufdiees sichreferenziert: HMO_IMT_Businesslayer_TLB Jetzt habeichdas Objekt als variabel deklariert : i_oData Ich kann auch jetzt wennich i_oData eintippe und einen Punkt mache die Liste sehen was das Objekt soalles drinnen hat z.B. i_oData.BirthDay Also habe das jetzt mal getestet mit einemStringgrid um die Objekte zu laden, es kompiliertauchohneprobleme abersobald ich auf den Knopf drücke, gibt er mir einenLaufzeitfehler.... also klicke mache ichhaltepunkt und sehe das das i_oData Objekt nil ist. Wennichaber i_oData.create eingebenwill, sagt ermir das diese Funktion nichtexoistiert... Muss ich COM Objekt bzw ActiveX Objekt irgendwie besonder über Dispatch einbinden? Es gibt eine Instance in dem Objekt die heisst TData (hier als l_ioData init) und die hat create.... aber nicht die Felder wie iData.....
Delphi-Quellcode:
Danke für die Hilfe
procedure Tfrmhmo.Button1Click(Sender: TObject);
var s,s2,s3:string; ist,i:integer; l_oBusiness:IBusiness; l_oData:tData; i_oData:iData; Obj:tobject; //df:iii; begin //l_oData:=tdata.create; i_oData.BirthDay:=strtodate(stringgrid1.cells[1,1]); i_oData.BMI:=strtofloat(stringgrid1.cells[1,2]); l_oBusiness.Analyse(i_oData); end; [edit=Sharky]Delphi-Tags gesetzt und Doppelposting gelöscht. Mfg, Sharky[/edit] |
Re: COM Einbinden
In der TLB gibt es Funktionen die mit CoCreate... anfangen.
Hierrüber werden die Objekte angelegt. (Vermutlich gibt es CoCreateBusiness). |
Re: COM Einbinden
Ja da gibt es ein
HMO_IMT_Businesslayer_TLB.CoData(TObject), aber wennichda jetzt i_oData eingebe funzt dasimmer nochnicht??? |
Re: COM Einbinden
Zitat:
|
Re: COM Einbinden
Ich habe es mal mit
i_oData:=HMO_IMT_Businesslayer_TLB.CoData(tobject) ; aber dannkommt eine FehlermeldungdasdieTypen iData und coData nichtmiteinander kompatibel wären???? Meine beidenObjekteauf derForm sind TData und die sind auf autoconnect... ichbekomme nur dieses blöde iData nicht created???? Was muss man denn da machen?? |
Re: COM Einbinden
Delphi-Quellcode:
i_oData := HMO_IMT_Businesslayer_TLB.CoData.Create;
|
Re: COM Einbinden
Habe ich probiert
i_oData:=HMO_IMT_Businesslayer_TLB.CoData.create; Jetzt kommtdie Fehlermeldung inkompatible Datentypen iData und _Data ???? |
Re: COM Einbinden
Such in deiner TLB mal nach:
Delphi-Quellcode:
Da müsste denn sowas drinstehen:
CoNamedeinerClass = class
Delphi-Quellcode:
Wenn du das findest poste mal den Teil.
class function Create: Classdieerzeugtwird ;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 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