Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi D2010 wo ist die CoClass geblieben (https://www.delphipraxis.net/145040-d2010-wo-ist-die-coclass-geblieben.html)

hanspeter 22. Dez 2009 13:58


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:
/  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;
(Mit Delphi 7)

Neu wird lediglich die GUI erzeugt

Delphi-Quellcode:
 CLASS_CoAutvomPath: TGUID = '{BD045FFE-B15E-4F05-89DC-D9BEAE9ED8E6}';
Übersehe ich jetzt irgenwas oder ist in D2010 der neue Experte nicht mehr richtig funktionsfähig?

Für einen Tip dankbar.


Gruß
Peter

hanspeter 22. Dez 2009 14:24

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

Sherlock 22. Dez 2009 14:29

Re: D2010 wo ist die CoClass geblieben
 
Zitat:

Zitat von hanspeter
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

Ich mag mich ja täuschen, aber mir kommt es so vor, als wäre es in D7 genauso gewesen.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz