Avatar billede flycht Nybegynder
16. maj 2006 - 09:51 Der er 4 kommentarer

vb.NET constructor kald fra Delphi via COM

Jeg har modtaget en dll-fil, som jeg har registreret med følgende exe-filer fra kommando-prompten:
regasm.exe /tlb (laver type library)
gacutil.exe

Dernæst har jeg importeret mit type library i Delphi og refererer under 'uses' til den nyligt gererede pas-fil. Alt er gået godt indtil videre.

Problemet opstår når jeg vil lave et objekt af en af klasserne fra dll-filen. Jeg får nemlig aldrig kørt constructoren, da der ikke er nogen create-metode på klassen. Hvordan kalder jeg constructoren? Jeg har prøvet at lave et objekt af klassen fra VBA og der skriver jeg blot følgende:

Dim MyObject as New TestClass

Kan jeg gøre noget tilsvarende fra Delphi, så jeg får fat i constructoren?

Venlig hilsen

Michael
Avatar billede martinlind Nybegynder
16. maj 2006 - 11:27 #1
den tlb_ pas fil du har der ligger en function der coCreate() bla. dem kan du bruge til at få din classe created
Avatar billede flycht Nybegynder
16. maj 2006 - 11:53 #2
Hej MartinLind

Tusind tak for dit svar. Jeg har fået det til at virke. Jeg skrev følgende:

var
  MyObject:_TestClass;
  test:double;
begin
  MyObject:=CoTestClass.Create;
Avatar billede flycht Nybegynder
16. maj 2006 - 11:54 #3
MartinLind, kan du ikke lave et svar til mig, så jeg kan give dig dine velfortjente point.

/Michael
Avatar billede flycht Nybegynder
16. maj 2006 - 12:23 #4
Et lille tillægsspørgsmål. Jeg har fundet ud af, at jeg også kan komme igennem med:

var
  MyObject:TTestClass;
  test:double;
begin
  myObject:=TTestClass.Create(nil);  //argumentet skulle opfylde følgende:"Aowner:TComponent"

Hvad er forskellen og hvad bør jeg gøre?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester