![]() |
COM und ein redefiniertes GetServer
Hi zusammen,
ich versuche gerade COM Objekte (LeadTools) in Delphi7 als Komponenten einzubinden. Klaglos erzeugt Delphi zunächst die Wrapper, wenn ich dann aber mal die neuen Komponenten kompilieren will erhalte ich eine Fehlermeldung, weil in der Wrapperunit ein GetServer (TOleServer) eingesetzt werden soll (was ja auch normal ist). Dieses GetServer ist aber auch eine von den LeadTools eingeführte Methode, die leider gänzlich andere Parameter erwartet. :evil: Der Compiler bricht dann ab, und ich bin angeschmiert, weil ich jetzt die ganze Eventbehandlung von Hand abwickeln müsste. Wie bringe ich den Wrapper dazu zu bemerken, daß er was falsch gemacht hat, oder wie korrigiere ich das Problem...
Delphi-Quellcode:
Sherlock
// Automatisch erzeugte Routine für die Komponente
procedure TLEADDicomNet.Connect; var punk: IUnknown; begin if FIntf = nil then begin punk := GetServer; // Das Problem ConnectEvents(punk); Fintf:= punk as ILEADDicomNet; end; end; |
Re: COM und ein redefiniertes GetServer
Versuch es doch mal mit
Delphi-Quellcode:
Beziehungsweise, wenn es eine Methode ist, mit
punk := Unitname.GetServer;
Delphi-Quellcode:
Und wenn es eine Methode von TLEADDicomNet sein sollte:
punk := Klassenname.GetServer;
Delphi-Quellcode:
Mehr Möglichkeiten fallen mir spontan nicht mehr ein :)
punk := self.GetServer;
|
Re: COM und ein redefiniertes GetServer
Hmm, das Problem ist, daß GetServer eine Methode der Klasse TOleServer der Unit OleServer ist. Ich weiss zu diesem Zeitpunkt nicht den Namen des Objekts... Klassenname.Methode funktioniert nicht.
Ich habe mal
Delphi-Quellcode:
probiert, aber das geht nicht.
punk := TOleServer(Self).GetServer
Sherlock |
Re: COM und ein redefiniertes GetServer
Ist TLEADDicomNet ein Nachfahre von TOLEServer?
|
Re: COM und ein redefiniertes GetServer
Jawoll, die deklaration, die der Wrapper macht sieht so aus:
Delphi-Quellcode:
Ich denke, da kommt auch jetzt das Problem, denn in der Klassendefinition deklariert er halt ein eigenes GetServer, das das TOleServer.GetServer, ausblendet.
TLEADDicomNet = class(TOleServer)
Sherlock |
Re: COM und ein redefiniertes GetServer
Und self.GetServer nimmt er auch nicht?
|
Re: COM und ein redefiniertes GetServer
Ne, geht nicht, aber ich habs:
Delphi-Quellcode:
:D
punk := inherited GetServer;
Sherlock |
Re: COM und ein redefiniertes GetServer
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz