Hallo Alle zusammen,
ich hab da grade ein Problem mit
com+
Ich hab eine
DLL erstellt inkl. einem Interface.
registriere ich das ganze klappt es auf meinem lokalen rechner ohne Probleme.
starte ich das Tool um die Funktion zu testen von einem anderen Rechner erhalte ich immer die Fehlermeldung dass das Interface nicht registriert wäre.
Wenn ich das
com Object zusätzlich auf diesem rechner Installiere klappt alles. Es sieht wohl so aus als ob das Tool Versucht das Interface local zu öffnen.
Wer kann mir helfen ??
Hier mal der Source der TLB Datei
Delphi-Quellcode:
unit ccServicecom_TLB;
// ************************************************************************ //
// WARNUNG
// -------
// Die in dieser Datei deklarierten Typen wurden aus Daten einer Typbibliothek
// generiert. Wenn diese Typbibliothek explizit oder indirekt (über eine
// andere Typbibliothek) reimportiert wird oder wenn der Befehl
// 'Aktualisieren' im Typbibliotheks-Editor während des Bearbeitens der
// Typbibliothek aktiviert ist, wird der Inhalt dieser Datei neu generiert und
// alle manuell vorgenommenen Änderungen gehen verloren.
// ************************************************************************ //
// $Rev: 17252 $
// Datei am 12.07.2011 13:10:05 erzeugt aus der unten beschriebenen Typbibliothek.
// ************************************************************************ //
// Typbib.: C:\Entwicklung\gw-solutions\comcomservicescomplus\comconServicecom (1)
// LIBID: {A8BB64BD-A382-43BE-950F-F8DF19DCB70C}
// LCID: 0
// Hilfedatei:
// Hilfe-String: comconServicedll
// Liste der Abhäng.:
// (1) v2.0 stdole, (C:\Windows\system32\stdole2.tlb)
// (2) v1.0 COMSVCSLib, (comsvcs.dll)
// (3) v4.0 StdVCL, (STDVCL40.TLB)
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit muss ohne Typüberprüfung für Zeiger compiliert werden.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
{$ALIGN 4}
interface
uses Windows,
ActiveX, Classes, Graphics, OleServer, StdVCL, Variants;
// *********************************************************************//
// In der Typbibliothek deklarierte GUIDS. Die folgenden Präfixe werden verwendet:
// Typbibliotheken : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx
// Nicht-DISP-Interfaces: IID_xxxx
// *********************************************************************//
const
// Haupt- und Nebenversionen der Typbibliothek ccServicecomMajorVersion = 3;
ccServicecomMinorVersion = 0;
LIBID_ccServicecom: TGUID = '
{A8BB64BD-A382-43BE-950F-F8DF19DCB70C}';
IID_IIpccService: TGUID = '
{E455F503-7737-4FB0-A7B8-30C852E7C989}';
CLASS_IpccService: TGUID = '
{49F10394-12E6-49E6-97EC-D974FC669021}';
type
// *********************************************************************//
// Forward-Deklaration von in der Typbibliothek definierten Typen
// *********************************************************************//
IIpccService =
interface;
// *********************************************************************//
// Deklaration von in der Typbibliothek definierten CoClasses
// (HINWEIS: Hier wird jede CoClass ihrem Standard-Interface zugewiesen)
// *********************************************************************//
IpccService = IIpccService;
// *********************************************************************//
// Deklaration von Strukturen, Unions und Aliasen.
// *********************************************************************//
PWideString1 = ^WideString;
{*}
// *********************************************************************//
// Interface: IIpccService
// Flags: (4352) OleAutomation Dispatchable
// GUID: {E455F503-7737-4FB0-A7B8-30C852E7C989}
// *********************************************************************//
IIpccService =
interface(IDispatch)
['
{E455F503-7737-4FB0-A7B8-30C852E7C989}']
procedure GETSQLPARAMS(
const Datenbankname: WideString;
out SQLUSER: WideString;
out SQLPW: WideString;
out SQLSERVER: WideString;
out SQLDB: WideString;
out SQLDRIVER: WideString);
stdcall;
procedure Test(
const Param1: WideString);
stdcall;
end;
// *********************************************************************//
// Die Klasse CoIpccService stellt die Methoden Create und CreateRemote zur
// Verfügung, um Instanzen des Standard-Interface IIpccService, dargestellt
// von CoClass IpccService, zu erzeugen. Diese Funktionen können
// von einem Client verwendet werden, der die CoClasses automatisieren
// will, die von dieser Typbibliothek dargestellt werden.
// *********************************************************************//
CoIpccService =
class
class function Create: IIpccService;
class function CreateRemote(
const MachineName:
string): IIpccService;
end;
implementation
uses ComObj;
class function CoIpccService.Create: IIpccService;
begin
Result := CreateComObject(CLASS_IpccService)
as IIpccService;
end;
class function CoIpccService.CreateRemote(
const MachineName:
string): IIpccService;
begin
Result := CreateRemoteComObject(MachineName, CLASS_IpccService)
as IIpccService;
end;
end.