Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie kann ich mein Programm in Typbibliothek registrieren ? (https://www.delphipraxis.net/115875-wie-kann-ich-mein-programm-typbibliothek-registrieren.html)

winx 19. Jun 2008 10:28


Wie kann ich mein Programm in Typbibliothek registrieren ?
 
Hallo,

mein Vorgänger hat es bei einem mit Delphi BDE 2006 erstellten Programm geschafft,
dieses in der Typbibliothek zu registrieren. Sprich, ich kann es jetzt in meine
Programme einbinden.

Nachdem ich dieses Programm nun mit Delphi 2007 geöffnet habe, ist es plötzlich nicht mehr registriert.
Es erscheint immer noch die "alte" version. Leider finde ich in den Sourcen nicht die Stelle,
wo das passiert. Klar ist jedoch, dass wenn man das Programm per Doppelklick ausführt, es sich
irgendwie registrieren muss...

Kann mir jemand helfen und mir erklären

a) wie man das macht? und
b) warum das nun mit Delphi 2007 nicht mehr automatisch übernommen wird?

Danke,
winx

Sherlock 19. Jun 2008 10:43

Re: Wie kann ich mein Programm in Typbibliothek registrieren
 
Ich glaube da muss man zuerst ein oder zwei Begriffe klären:

1) Was ist "die Typbibliothek"?
Normalerweise ist eine Typbibliothek im weitesten Sinne eine Deklarationssammlung mehr oder weniger zusammengehörender Klassen, Typen, Methoden etc. Die finden sich unter COM beispielsweise dann in einer Datei mit der Endung .tlb (Type Library = Typbibliothek) wieder. Was Du vermutlich mit Typbibliothek meinst ist wohl die Liste der installierten (registrierten) ActiveX-Objekte oder deren .net-Äquivalente (kenne .net nicht so genau).

Huch...tatsächlich ist wohl nur ein Begriff zu klären gewesen :mrgreen:

Wie auch immer, jetzt kommts:
Das alte Objekt wurde in D2006 entwickelt, und Du hast es in D2007 verändert (ich nehme an, daß meinst du mit öffnen). Dadurch verändert sich ein bisschen was am Objekt, befürchte ich. Du solltest das alte Objekt zuerst deregistrieren, das kannst Du mit "regsvr32 -u" zusammen mit dem VQDN (voll qualifizierter Dateiname ;) ) des Objekts machen. Dann erzeugst du Deine D2007 Version des Dingens neu und registrierst es wieder mit regsvr32...dann sollte es zu keinen Problemen kommen.

Edit: Ich kann leider nichts genaues zu D2006 oder D2007 sagen, weil ich noch Delphi 7 nutze.

Sherlock

winx 19. Jun 2008 10:54

Re: Wie kann ich mein Programm in Typbibliothek registrieren
 
Hi,

danke für die ausführliche Erklärung. Das Programm wurde ursprünglich auch mit D7 entwickelt :-)

Wenn ich nun versuche die .exe der alten Version zu deregistrieren kommt folgende Fehlermeldung:

"mrk.exe wurde geladen, aber der DLLUnregister-Eingangspunkt wurde nicht gefunden.
mrk.exe ist keine .DLL oder .OCX-Datei"

Ja klar, ist ja eine EXE... :wiejetzt:

Hast du noch nen Tip oder ne Erklärung für das ganze?

Danke,
winx

Sherlock 19. Jun 2008 11:03

Re: Wie kann ich mein Programm in Typbibliothek registrieren
 
Exen können sich selber registrieren bzw. deregistrieren. Registrieren machen sie beim starten IIRC automagisch (sonst mit "MyServer.exe /regserver"). Deregistrieren durch einen Kommandozeilenparameter "MyServer.exe /unregserver".

Sherlock

winx 19. Jun 2008 12:28

Re: Wie kann ich mein Programm in Typbibliothek registrieren
 
cool so hats geklappt :-D

Nun ne Frage: Geht das nun wieder ab sofort automatisch oder muß/kann ich es bei jedem Starten des Programms
irgendwie automatisch machen lassen?

Sherlock 19. Jun 2008 12:47

Re: Wie kann ich mein Programm in Typbibliothek registrieren
 
Du musst einmal registrieren, ab dann nicht mehr...bis zur nächsten Version des Servers ;)

Sherlock

winx 19. Jun 2008 14:42

Re: Wie kann ich mein Programm in Typbibliothek registrieren
 
Dankeschön


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 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