![]() |
D2010 wo ist die CoClass geblieben
Hallo,
eigentlich wollte ich nur schnell ein Plugin aufsetzen. In D2010 scheint sich aber der Com Experte komplett geändert zu haben. Früher fügte ich in der TLB einfach eine CoClass zu und Delphi generierte den notwendigen Code. Also etwa so:
Delphi-Quellcode:
(Mit Delphi 7)
/ ITest = interface(IUnknown)
['{F7417599-6939-436F-907A-2E1E40B192A0}'] function Add(a: SYSINT; b: SYSINT): SYSINT; stdcall; function ShowParent(ART: Byte; Parent: Integer; const Titel: WideString): HResult; stdcall; end; / *********************************************************************// // Die Klasse CoTest stellt die Methoden Create und CreateRemote zur // Verfügung, um Instanzen des Standard-Interface ITest, dargestellt // von CoClass Test, zu erzeugen. Diese Funktionen können // von einem Client verwendet werden, der die CoClasses automatisieren // will, die von dieser Typbibliothek dargestellt werden. // *********************************************************************// CoTest = class class function Create: ITest; class function CreateRemote(const MachineName: string): ITest; end; implementation uses ComObj; class function CoTest.Create: ITest; begin Result := CreateComObject(CLASS_Test) as ITest; end; class function CoTest.CreateRemote(const MachineName: string): ITest; begin Result := CreateRemoteComObject(MachineName, CLASS_Test) as ITest; end; Neu wird lediglich die GUI erzeugt
Delphi-Quellcode:
Übersehe ich jetzt irgenwas oder ist in D2010 der neue Experte nicht mehr richtig funktionsfähig?
CLASS_CoAutvomPath: TGUID = '{BD045FFE-B15E-4F05-89DC-D9BEAE9ED8E6}';
Für einen Tip dankbar. Gruß Peter |
Re: D2010 wo ist die CoClass geblieben
Habs gefunden. Die D2010 Dokumentation ist eine Katastrophe.
1. Active-X Bibliothek erzeugen. Erzeugt dll-Rahmen. Die hier generierte TLB nicht anfassen. 2. Ein Automatisierungsobjekt hinzufügen. Jetzt wird die TLB aus 1 überschrieben. In D7 ging das noch in einem Arbeitsschritt. Gruß Peter |
Re: D2010 wo ist die CoClass geblieben
Zitat:
Sherlock |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 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