Avatar billede januskh Nybegynder
08. september 2000 - 17:22 Der er 9 kommentarer og
2 løsninger

Visual Basic DLL i Delphi...

Jeg er færd med et lille projekt. Jeg vil gerne lave en CPL fil (Control Panel Extension) til et par af mine Visual Basic DLL\'er. Men hvis jeg laver en DLL i VB og omdøber denne til CPL, så vises denne ikke i kontrol panelet. Dette gør den hvis man laver den i Delphi. Der er sågar en applications wizard, hvis man ønsker at lave cpl filer. Men... jeg har fundet ud af at man i Delphi kan importere, såkaldte \"Type Libraries\", og her stå min DLL og listet. Så kan man lave en TLB-fil.

Er der nogen som aner noget som helst om hvordan jeg for \'created\' denne TLB?

Jeg har en Public Function som hedder ShowForm, og dette er alt som behøves, men når jeg prøver, så kommer der ikke andet end \'Access Violations\' og \'Runtime 217\' fejl.

Please help

/Januskh
Avatar billede sjensen Nybegynder
08. september 2000 - 20:40 #1
I delphi, under menupunktet Project findes et punkt kaldet \"Import Type Library\". Det er den funktion du skal bruge tila t importere dit bibliotek og det er den funktion der laver din TLB fil.
Avatar billede buhl Nybegynder
11. september 2000 - 00:36 #2
TLB extensionen hentyder til \"Remote Automation Typelib files\", det er filer der benyttes når en dll skal refereres remote. Måden du får den bygget på er ved at vælge \"remote server component\"i properties i dit VB dll projekt. Når du herefter vælger at bygge din dll, bliver der automatisk bygget en .tlb fil også. Så ved du det...

Der er bare det at det ikke helt lyder til at det er det du har behov for, og jeg er ikke sikker på at jeg helt har forstået hvad det er du egentlig vil....?
Avatar billede delphi Nybegynder
11. september 2000 - 09:26 #3
Hvis du vil til at lave programmer i Delphi, der kan \"arbejde\" sammen med andre programmer, fx. ved at kunne kaldes fra Visual Basic eller MicroSoft Word, så er den åbenlyse vej frem, at lære noget om COM teknologi.

Der er flere bøger der i den sammenhæng kan anbefales, men helt klart den bedste (af dem jeg kender) er \"Delphi COM programming\" af Eric Harmon (ISBN: 1-57870-221-6).  Den er forholdsvis ny (feb. 2000 så vidt jeg husker) og har hoved fokus på Delphi 5, men går dog tilbage til Delphi-COM starten i Delphi 3 hvis der er forskelle i implementationen.
Calvert og Cantú skriver også noget om COM og Automation i deres bøger, henholdsvis \"Delphi Unleashed\" serien \"Mastering Delhi\".  De viser dog kun lidt af emnet, idet de som praktisk eksempeler arbejder lidt med automation af Word/Excel.  En anden ting er at deres bøger dækker hele Delphi og dermed er der ikke meget plads til COM.  \"Delphi COM programming\" er små 500 sider koncentreret stof.


Uden at have arbejdet med CPL filer (eller ret meget med VB for den sags skyld), så ser det ud til at VB\'s DLL\'er ikke includerer noget som skal bruges af Windows i en DLL.  Det bør dog være rimeligt simpelt at kalde din ShowForm metode fra en Delphi application.  Denne application laver du så om til en CPL - ved at omdøbe den som du siger.


Delphi
Avatar billede januskh Nybegynder
18. september 2000 - 22:57 #4
Hmmm... det var faktisk lidt for ikke at skulle ud og investere i tykke bøger, at jeg spurgte. Jeg har faktisk selv genneskuet lidt problemerne, og har mere eller mindre selv fundet en løsning. Hoved problemet er nu blot at de DLL\'er som jeg har programmeret i Visual Basic kræver en ADODB connection, som sættes via en property. Disse properties kan jeg ikke få sat fra Delphi.

Men I skal have tak for hjælpen alligevel. Så skal det heller ikke rygtes at jeg er nærig med min hårdt tjente points. Så vi deler dem...
Avatar billede januskh Nybegynder
18. september 2000 - 22:58 #5
Hmmm... det var faktisk lidt for ikke at skulle ud og investere i tykke bøger, at jeg spurgte. Jeg har faktisk selv genneskuet lidt problemerne, og har mere eller mindre selv fundet en løsning. Hoved problemet er nu blot at de DLL\'er som jeg har programmeret i Visual Basic kræver en ADODB connection, som sættes via en property. Disse properties kan jeg ikke få sat vha Delphi.

Men I skal have tak for hjælpen alligevel. Så skal det heller ikke rygtes at jeg er nærig med min hårdt tjente points. Så vi deler dem... (En trediedel til hver).
Avatar billede delphi Nybegynder
19. september 2000 - 08:35 #6
Sjov måde at dele trediedele....
Avatar billede januskh Nybegynder
12. oktober 2000 - 10:09 #7
Tja... jeg havde eller tastet 33 point pr. næse, men det kunne system vist ikke lige håndtere...
Avatar billede januskh Nybegynder
12. oktober 2000 - 10:09 #8
Men jeg håber da ikke at du brokker dig. :)
Avatar billede delphi Nybegynder
12. oktober 2000 - 12:04 #9
Nej, det var bare lidt komisk.
Avatar billede januskh Nybegynder
12. oktober 2000 - 12:42 #10
Hehe, tja, ja.. som venner, vi dele.. I ta\'r det hele... ;o)
Avatar billede delphi Nybegynder
12. oktober 2000 - 13:17 #11
Du ku ikke gi dig selv point, for du havde ikke selv svaret - kun lavet en kommentar.
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

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