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/)
-   -   OCX einbinden (https://www.delphipraxis.net/160338-ocx-einbinden.html)

gw1200 9. Mai 2011 09:26

OCX einbinden
 
Hallo,

ich habe Probleme beim Einbinden eine ocx-Datei in ein bestehendes Projekt. Die XXX_TLB.pas kann ich erzeugen, komme aber nicht weiter beim importieren und bei der Erzeugung des Automatisierungsobjektes.
Im Projekt ist bereits eine tlb vorhanden mit Interface und CoClass.

Für Tipps zum Einbinden der ocx wäre ich dankbar (ich arbeite mit Delphi 6).

nuclearping 9. Mai 2011 12:25

AW: OCX einbinden
 
Warum kommst du denn nicht weiter? Details bitte, lieber zuviel als zuwenig. ;)

gw1200 9. Mai 2011 13:02

AW: OCX einbinden
 
Ich habe zwar die ..._TLB.pas aber leider keine Ahnung, wie ich diese mit der vorhanden TLB verbinden soll. Ich mache das zum ersten mal und Neuling auf dem Gebiet.

Ich gehe davon aus, dass man die neue TLB in die alte integrieren muss und dann ein Automatisierungsobjekt erzeugt.
Die in der neuen TLB vorhandenen ActiveX-Funktionen ermöglichen dann den Zugriff auf Daten in einem Online-Katalog.

nuclearping 10. Mai 2011 11:19

AW: OCX einbinden
 
Keine Ahnung, was du für ein Delphi hast. Aber wenn ich bei meinem D2009 eine OCX einbinden will, gehe ich über das Menu Komponente -> Komponente importieren -> ActiveX-Steuerelement importieren.

gw1200 10. Mai 2011 12:01

AW: OCX einbinden
 
Das Importieren der ocx und die Erzeugung der ...TLB.pas geht auch ohne weiteres. Damit die Schnittstelle aber funktioniert benötige ich ein Automatisierungsobjekt. Der Experte erzeugt mir zwar ein Auto-Objekt, aber ich kann nicht angeben, dass er die ...TLB.pas verwendet.

Ich habe also eine Unit mit Interface und DispInterface aus der ocx-Datei und will daraus ein Auto-Objekt erstellen.

(ich nutze Delphi 6)

nuclearping 10. Mai 2011 12:40

AW: OCX einbinden
 
Normalerweise solltest du doch nach dem Import, ein Objekt in der Werkzeugleiste (meist unter ActiveX) haben, was du zB auf die Form ziehst? Dann bindet er die ..._TLB.pas selbst ein.

gw1200 10. Mai 2011 13:13

AW: OCX einbinden
 
Es muss ein Automatisierungsobjekt (TAutoObject) sein, sonst funktioniert die Schnittstelle nicht. Es nutzt mir also nichts, wenn ich eine Komponente einbinde.

Momentan ist in dem Programm bereits eine Typenbibliothek vorhanden mit einem Automatisierungsobjekt. Ich muss also mit der aus der ocx erzeugten Unit der vorhandenen Bibliothek ein Interface und eine CoClass hinzufügen (GUID muss passen) und daraus ein Automatisierungsobjekt erstellen.

Kann es sein, dass man die Unit (für das Auto-Objekt) manuell erstellen muss?

Bernhard Geyer 10. Mai 2011 13:52

AW: OCX einbinden
 
Kann es sein das du meinst das du ein bestimmtes Interface in deinem Programm bereistellen/implementieren musst damit dein Programm von einem anderen Programm als "Plugin" verwendbar ist?

gw1200 10. Mai 2011 13:57

AW: OCX einbinden
 
Nein, so nicht. Meine Programm stellt eine Datenbank zur Verfügung. Ein Online-Katalog kann dann Daten anfordern b.z.w. mein Programm bekommt Daten vom Katalog. Das Ganze soll über Automatik laufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 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