Einzelnen Beitrag anzeigen

Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

Re: .tlb, ActiveX-Bibliothek, "Schnittstelle nicht unte

  Alt 8. Mär 2006, 12:33
Zitat von marabu:
Es wird ein Installationsproblem sein. Wurde eFilm bzw. DICOM denn auf beiden Maschinen ordentlich per Setup installiert?
EFilm wurde auf allen Rechner ordentlich installiert. die dlls efDICOM.dll DICOMDLL.dll und efcommon.dll werden von EFilm mit installiert.

Zitat von marabu:
Sind denn alle Schnittstellen aus EFILM_TLB.PAS auch in der Registrierdatenbank (HKCR) zu finden?
Nein,

ich hab gerade mal nachgeschaut mit folgendem Ergebnis:

Wo es funktioniert (EFilm.tlb über Projekt|Typenbibliothek importieren importiert)
Code:
LIBID_EFilm: TGUID = '{C8CF03E5-FD1F-11D3-8C03-0080C8D3C5D3}';
  HKEY_CLASSES_ROOT\Interface\{C8CF03E6-FD1F-11D3-8C03-0080C8D3C5D3}\TypeLib -> (Standard)
  HKEY_CLASSES_ROOT\TypeLib\{C8CF03E5-FD1F-11D3-8C03-0080C8D3C5D3}
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{C8CF03E6-FD1F-11D3-8C03-0080C8D3C5D3}\TypeLib -> (Standard)
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{C8CF03E5-FD1F-11D3-8C03-0080C8D3C5D3}

DIID_IEFilm: TGUID = '{C8CF03E6-FD1F-11D3-8C03-0080C8D3C5D3}';
  HKEY_CLASSES_ROOT\Interface\{C8CF03E6-FD1F-11D3-8C03-0080C8D3C5D3}
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{C8CF03E6-FD1F-11D3-8C03-0080C8D3C5D3}

CLASS_Document: TGUID = '{C8CF03E4-FD1F-11D3-8C03-0080C8D3C5D3}';
  HKEY_CLASSES_ROOT\CLSID\{C8CF03E4-FD1F-11D3-8C03-0080C8D3C5D3}
  HKEY_CLASSES_ROOT\EFilm.Document\CLSID -> (Standard)
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{C8CF03E4-FD1F-11D3-8C03-0080C8D3C5D3}
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\EFilm.Document\CLSID -> (Standard)

WO ES NICHT FUNKTIONIERT! (tlb nicht importiert - TestApp bringt "Schnittstelle nicht unterstützt")
Code:
LIBID_EFilm: TGUID = '{C8CF03E5-FD1F-11D3-8C03-0080C8D3C5D3}';
  -NICHTS GEFUNDEN-

DIID_IEFilm: TGUID = '{C8CF03E6-FD1F-11D3-8C03-0080C8D3C5D3}';
  -NICHTS GEFUNDEN-

CLASS_Document: TGUID = '{C8CF03E4-FD1F-11D3-8C03-0080C8D3C5D3}';
  HKEY_CLASSES_ROOT\CLSID\{C8CF03E4-FD1F-11D3-8C03-0080C8D3C5D3}
  HKEY_CLASSES_ROOT\EFilm.Document\CLSID -> (Standard)
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{C8CF03E4-FD1F-11D3-8C03-0080C8D3C5D3}
  HKEY_LOCAL_MACHINE\SOFTWARE\Classes\EFilm.Document\CLSID -> (Standard)
Also muss doch Delphi die tlb registrieren?!!?
Wie kann ich das zur Laufzeit registrieren??
RegisterComServer(const DLLName: String); Ist es sicher nicht, denn ich hab keine DLL.
RegisterAsService(const ClassID, ServiceName: string); Ist es auch nicht, oder? ich hab ja kein Schlüssel "AppId" gefunden.
Welche ist es dann?


TIA

Gottes Segen
  Mit Zitat antworten Zitat