AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Fehler bei Import TLB-Datei

Offene Frage von "Johannes G."
Ein Thema von moonwalk55 · begonnen am 21. Aug 2012 · letzter Beitrag vom 20. Aug 2021
Antwort Antwort
Seite 1 von 3  1 23   
moonwalk55

Registriert seit: 29. Sep 2007
12 Beiträge
 
Delphi XE2 Professional
 
#1

Fehler bei Import TLB-Datei

  Alt 21. Aug 2012, 10:36
Hallo Zusammen,

ich habe ein Problem beim Import einer TLB-Datei (lppx2.tlb) von Teklynx Codesoft. Dabei handelt sich es um eine Software zum Erstellen von Etiketten.

Die Datei erscheint unter "Komponente" --> "Komponente importieren" --> "Typbibliothek importieren" als "Tk Labeling Activex 9.0" in der Auswahlliste.

Beim Fertigstellen erscheint immer folgende Fehlermeldung: "Fehler beim Laden der Typbibliothek/DLL. Beim Verweis auf einen benutzerdefinierten Typ ist ein Fehler aufgetreten. Dies kann Folge einer fehlenden oder nicht registrierten Typbibliothek sein."

Unter Details steht folgendes:

"[500600D0]{rtl120.bpl } ComObj.OleError (Line 1270, "ComObj.pas" + 1) + $11
[500600DF]{rtl120.bpl } ComObj.OleCheck (Line 1277, "ComObj.pas" + 0) + $7
[20DCCE0B]{tlib120.bpl } TypeLib.TTypeLibrary.GetRefTypeInfo (Line 8414, "TypeLib.pas" + 11) + $10
[500477AB]{rtl120.bpl } Classes.TList.Grow (Line 3388, "Classes.pas" + 7) + $4
[500475CA]{rtl120.bpl } Classes.TList.Add (Line 3300, "Classes.pas" + 7) + $8
[20DC7B1F]{tlib120.bpl } TypeLib.TTypeInfo.ProcessType (Line 5848, "TypeLib.pas" + 3) + $8
[20DC2022]{tlib120.bpl } TypeLib.TParameter.CreateFromElemDesc (Line 2544, "TypeLib.pas" + 3) + $9
[20DC4CF5]{tlib120.bpl } TypeLib.TFuncMember.CreateFromFuncDesc (Line 4316, "TypeLib.pas" + 87) + $1C
[20DCA8DD]{tlib120.bpl } TypeLib.TInterfaceInfo.ProcessTypeInfo (Line 7216, "TypeLib.pas" + 32) + $12
[20DCD184]{tlib120.bpl } TypeLib.TTypeLibrary.ProcessTypeInfos (Line 8482, "TypeLib.pas" + 44) + $F
[20DCC6AA]{tlib120.bpl } TypeLib.TTypeLibrary.CreateFromTypeLib (Line 8196, "TypeLib.pas" + 61) + $9
[20DCC156]{tlib120.bpl } TypeLib.TTypeLibrary.Create (Line 8090, "TypeLib.pas" + 21) + $14
[50C6F90E]{comcore120.bpl} OCXGen.CreateUnit (Line 76, "OcxGen.pas" + 4) + $D
[5000CD59]{rtl120.bpl } System.TInterfacedObject._AddRef (Line 21759, "System.pas" + 1) + $3
[50F304C4]{delphicompro120.bpl} DelphiTraits.TDelphiImportComponentTrait.ImportTLB (Line 94, "DelphiTraits.pas" + 4) + $18
[50C7C727]{comcore120.bpl} ImportComponentWizard.TImportComponentWizard.Finis h (Line 441, "ImportComponentWizard.pas" + 93) + $22
[20787D29]{coreide120.bpl} Wizard.TWizard.Show (Line 713, "Wizard.pas" + 30) + $8
[50C80D8B]{comcore120.bpl} ComStdReg.TComMenus.DoImportComponentExecute (Line 123, "ComStdReg.pas" + 4) + $5
[500584EB]{rtl120.bpl } Classes.TBasicAction.Execute (Line 12201, "Classes.pas" + 3) + $7
[501DCF79]{vcl120.bpl } ActnList.TContainedAction.Execute (Line 448, "ActnList.pas" + 8) + $2C
[501DDD5C]{vcl120.bpl } ActnList.TCustomAction.Execute (Line 1094, "ActnList.pas" + 7) + $8
[500583AF]{rtl120.bpl } Classes.TBasicActionLink.Execute (Line 12130, "Classes.pas" + 2) + $7
[210E9635]{vclactnband120.bpl} ActnMenus.TCustomActionMenuBar.ExecAction (Line 1064, "ActnMenus.pas" + 6) + $D
[210EAAEB]{vclactnband120.bpl} ActnMenus.TCustomActionMenuBar.TrackMenu (Line 1746, "ActnMenus.pas" + 15) + $15
[210EE044]{vclactnband120.bpl} ActnMenus.TCustomActionMainMenuBar.TrackMenu (Line 3472, "ActnMenus.pas" + 3) + $3
[210E91FD]{vclactnband120.bpl} ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 943, "ActnMenus.pas" + 3) + $4
[501C565A]{vcl120.bpl } Controls.TControl.WndProc (Line 6642, "Controls.pas" + 91) + $6
[501C5280]{vcl120.bpl } Controls.TControl.Perform (Line 6420, "Controls.pas" + 10) + $8
[501C94FA]{vcl120.bpl } Controls.GetControlAtPos (Line 9088, "Controls.pas" + 4) + $76
[501C9677]{vcl120.bpl } Controls.TWinControl.IsControlMouseMsg (Line 9135, "Controls.pas" + 15) + $15
[501C9BD9]{vcl120.bpl } Controls.TWinControl.WndProc (Line 9297, "Controls.pas" + 97) + $1D
[501C9CE7]{vcl120.bpl } Controls.TWinControl.WndProc (Line 9336, "Controls.pas" + 136) + $6
[210EABDA]{vclactnband120.bpl} ActnMenus.TCustomActionMenuBar.WndProc (Line 1781, "ActnMenus.pas" + 25) + $4
[501C9400]{vcl120.bpl } Controls.TWinControl.MainWndProc (Line 9065, "Controls.pas" + 3) + $6
[500591DC]{rtl120.bpl } Classes.StdWndProc (Line 12703, "Classes.pas" + 8) + $0
[501C03E2]{vcl120.bpl } Controls.FindControl (Line 2999, "Controls.pas" + 6) + $9
[501EEABD]{vcl120.bpl } Forms.TApplication.ProcessMessage (Line 9660, "Forms.pas" + 30) + $1
[501EEB02]{vcl120.bpl } Forms.TApplication.HandleMessage (Line 9690, "Forms.pas" + 1) + $4
[501EEE2D]{vcl120.bpl } Forms.TApplication.Run (Line 9827, "Forms.pas" + 26) + $3
[004259E6]{bds.exe } bds.bds (Line 198, "" + 8) + $FFFB"


Die komplette Fehlermeldung als Bild hängt an.

Laut Hersteller Teklynx funktioniert die Bibliothek unter Visual Studio und VBS einwandfrei.

Das Problem scheint auch nicht direkt an der Delphi Version zu hängen, denn mit Delphi 2009 und Delphi XE2 bekomme ich die gleichen Fehlermeldungen.

Zum Programm gehört noch eine weitere Datei, "Tk Labeling Basic" (lppxLT.tlb). Diese lässt sich hingegen ohne Probleme importieren.

Hat Jemand von Euch eine Idee woran es liegen kann? Kann es sein, dass die TLB-Datei eine .NET ActiveX Datei ist, die man per "Interop" anbinden muss?

Die beiden Dateien hänge ich mal an.

Danke im Voraus.
Miniaturansicht angehängter Grafiken
import_fehler_lppx2.tlb.jpg  
Angehängte Dateien
Dateityp: zip Lppx.zip (37,3 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
526 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Fehler bei Import TLB-Datei

  Alt 21. Aug 2012, 13:36
Folge einer fehlenden oder nicht registrierten Typbibliothek sein
Hast Du das Ocx/ActiveX registriert/installiert?

Edit:
Muss ja wohl da in der Liste.
Hast Du mal versucht anstelle Typbibliothek importieren - .NET-Assembly importieren?
Allerdings müsstest Du dann natürlich auch eine entsprechende DLL haben.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.

Geändert von taveuni (21. Aug 2012 um 13:39 Uhr)
  Mit Zitat antworten Zitat
moonwalk55

Registriert seit: 29. Sep 2007
12 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 10:35
Die TLB-Datei wird ja bei der Installation von Codesoft registriert.

Ich habe auch die TLB-Datei nochmals per Hand mit der "regtlibv12.exe" aus dem .NET-Framework registriert (C:\Windows\Microsoft.NET\Framework\v4.0.30319\reg tlibv12.exe), siehe Anleitung hier:

http://digital.ni.com/public.nsf/all...2566F700615B7A

Das hat an der Situation auch nichts geändert.

Den Versuch eine .NET-Assembly zu importieren habe ich auch unternommen, aber da weiss ich nicht, welche der DLL-Dateien auszuwählen ist.

Lt. Teklynx muss im Projekt einfach die TLB-Datei referenziert werden, aber in Delphi kann ich die ja nicht einfach dem Projekt anfügen.
  Mit Zitat antworten Zitat
moonwalk55

Registriert seit: 29. Sep 2007
12 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 13:52
Zwischenzeitlich habe ich noch "TRegSvr.exe" von Delphi probiert. Aber das teilt mir auch nur mit, dass die Datei schon registriert ist.

Dann habe ich den manuellen Import probiert, den Chris Benson in seinem Blog beschreibt, Aufruf der "TLibImp.exe" aus dem Bin-Verzeichnis von Delphi.

"tlibimp.exe -P+ -Ha- -Hr- -Hs- -R- -DG:\1 "G:\Program Files (x86)\Teklynx\CODESOFT 10\Lppx2.tlb"
Embarcadero TLIBIMP Version 12.16581
Copyright(c) 1995-2010 Embarcadero Technologies, Inc.

G:\Program Files (x86)\Teklynx\CODESOFT 10\Lppx2.tlb wird geöffnet
Fehler beim Laden der Typbibliothek/DLL.

Beim Verweis auf einen benutzerdefinierten Typ ist ein Fehler aufgetreten. Dies
kann Folge einer fehlenden oder nicht registrierten Typbibliothek sein"

Damit erhalte ich aber auch nur einen Fehler.

Wie kann ich denn feststellen, welche Dll's von der TLB-Datei referenziert werden, um die Registrierung der Dll's zu prüfen?
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
526 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 13:57
Gibt es denn ein Testprogramm welches dieses ActiveX benutzt?
Falls ja dieses starten und mit dem ProcessExplorer die genutzten DLL's anzeigen lassen.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 14:27
Beim Verweis auf einen benutzerdefinierten Typ ist ein Fehler aufgetreten. Dies kann Folge einer fehlenden oder nicht registrierten Typbibliothek sein"
Punkt 1.
Eine Typbibliothek kann ja andere Typbibliotheken importieren und dessen Datentypen verwenden.
Sollte beim Einlesen einer TLB diese importierten TLBs nicht gefunden werden, dann gibt's natürlich ein Problem.

Du könntest ja mal die TLB hier hochladen, dann kann ich Dir (mit Hilfe von OLEView) sagen, welche anderen TLBs importiert werden.

Punkt 2.
In TLBs gibt es benutzerdefinierte Datentypen (User Defined Type).
UDTs sind erst später hinzugekommen und werden von Delphi (zumindest in älteren Versionen) IMHO nicht unterstützt.
Allerdings scheint deine Delphi-Version zumindest zu wissen, dass hier ein UDT vorliegt.
Andreas
  Mit Zitat antworten Zitat
moonwalk55

Registriert seit: 29. Sep 2007
12 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 15:03
Ein Testprogramm für den Aufruf gibt es nicht, da Teklynx nach eigenen Aussagen nicht damit arbeitet. Selber konnte ich noch nichts schreiben, da ich ja die TLB nicht importieren kann.

Das Programm Codesoft selbst habe ich mal mit dem ProcessExplorer untersucht. Hier wird aber keine DLL gestartet, sondern nur ein anderer Prozess ("Lppa.exe"), der aber auch keine Dll's lädt.

Die Original-TLB liegt meinem ersten Posting als Zip-Datei bei.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 17:16
Also ich kann die Lppx2.tlb mit meinen Delphi5 auch nicht öffnen; gleicher Fehler wie bei dir.
LppxLT.tlb lässt sich öffnen.

Im Anhang habe ich die TLB im für Menschen lesbaren IDL-Format angehängt.
Mit diesen Informationen kannst du notfalls auch ohne die TLB zu importieren mit der ActiveX-DLL/Anwendung arbeiten.
Natürlich hast du dann keine Codevervollständigung in der IDE.
Angehängte Dateien
Dateityp: zip Lppx2.IDL.zip (16,8 KB, 17x aufgerufen)
Andreas
  Mit Zitat antworten Zitat
moonwalk55

Registriert seit: 29. Sep 2007
12 Beiträge
 
Delphi XE2 Professional
 
#9

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 18:07
Danke erst einmal für die Datei und die Mühe.

Wie binde ich so eine IDL-Datei ein? Das habe ich noch nie gemacht.

Muss ich mir dann selbst eine Wrapper-Unit bauen, die sonst Delphi für mich macht?

Hast Du evtl. ein kleines Beispiel für mich?
  Mit Zitat antworten Zitat
moonwalk55

Registriert seit: 29. Sep 2007
12 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Fehler bei Import TLB-Datei

  Alt 22. Aug 2012, 19:55
Der Teklynx Support hat sich noch einmal gemeldet und mir den Hinweis gegeben, dass die "Lppx2.tlb" die Datei "TkxRFtag.tlb" referenziert. Wenn ich die zuerst importiere, dann kann ich auch die zweite Datei erfolgreich importieren.

Ich hänge Sie auch mal an.

Jetzt muss ich noch probieren, ob der Zugriff auch funktioniert.
Angehängte Dateien
Dateityp: zip TkxRFTAG.zip (9,5 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:06 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