AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

COM Einbinden

Ein Thema von sandrocm · begonnen am 6. Mai 2005 · letzter Beitrag vom 6. Mai 2005
Antwort Antwort
sandrocm

Registriert seit: 27. Okt 2003
27 Beiträge
 
#1

COM Einbinden

  Alt 6. Mai 2005, 15:39
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:
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;
Danke für die Hilfe

[edit=Sharky]Delphi-Tags gesetzt und Doppelposting gelöscht. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: COM Einbinden

  Alt 6. Mai 2005, 15:51
In der TLB gibt es Funktionen die mit CoCreate... anfangen.
Hierrüber werden die Objekte angelegt. (Vermutlich gibt es CoCreateBusiness).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
sandrocm

Registriert seit: 27. Okt 2003
27 Beiträge
 
#3

Re: COM Einbinden

  Alt 6. Mai 2005, 16:07
Ja da gibt es ein

HMO_IMT_Businesslayer_TLB.CoData(TObject), aber

wennichda jetzt i_oData eingebe funzt dasimmer nochnicht???
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: COM Einbinden

  Alt 6. Mai 2005, 16:16
Zitat von sandrocm:
Ja da gibt es ein

HMO_IMT_Businesslayer_TLB.CoData(TObject), aber

wennichda jetzt i_oData eingebe funzt dasimmer nochnicht???
Was hast du genau gemacht (Beispielcode)?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
sandrocm

Registriert seit: 27. Okt 2003
27 Beiträge
 
#5

Re: COM Einbinden

  Alt 6. Mai 2005, 16:20
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??
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: COM Einbinden

  Alt 6. Mai 2005, 16:39
  i_oData := HMO_IMT_Businesslayer_TLB.CoData.Create;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
sandrocm

Registriert seit: 27. Okt 2003
27 Beiträge
 
#7

Re: COM Einbinden

  Alt 6. Mai 2005, 16:44
Habe ich probiert
i_oData:=HMO_IMT_Businesslayer_TLB.CoData.create;

Jetzt kommtdie Fehlermeldung inkompatible Datentypen iData und _Data

????
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: COM Einbinden

  Alt 6. Mai 2005, 17:59
Such in deiner TLB mal nach:
CoNamedeinerClass = class Da müsste denn sowas drinstehen:
class function Create: Classdieerzeugtwird ; Wenn du das findest poste mal den Teil.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz