Einzelnen Beitrag anzeigen

Digielm

Registriert seit: 2. Aug 2006
246 Beiträge
 
Delphi 5 Enterprise
 
#1

Com+ Schnittstelle Delphi 2009 Win32 kann Interface nicht finden

  Alt 12. Jul 2011, 12:08
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.

Geändert von Digielm (12. Jul 2011 um 12:11 Uhr)
  Mit Zitat antworten Zitat