Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   OCX außerhalb IDE (https://www.delphipraxis.net/159218-ocx-ausserhalb-ide.html)

hanspeter 18. Mär 2011 14:12

OCX außerhalb IDE
 
Hallo,

ich habe ein OCX als Komponente importiert.
(In einer runtime.bpl)
Mit
Delphi-Quellcode:
 if FIntf = nil then DoCreate;
wird das OCX initialisiert.
Starte ich das Programm in der Delphi IDE dann funktioniert alles
problemlos.
Starte ich das Programm jedoch außerhalb der IDE, dann kommt es zu einer Speicherschutzverletzung.
Nach dem Schreiben des Log, funktioniert das OCX dann aber problemlos.

Log:
-----
Show caused an Access Violation (0xc0000005)
in module FOXX.OCX at 0023:067f39d8.
Operating system: unknown Windows version (6.1.7601).
2 processor(s), type 586.
-------

Das OCX ist zugekauft, ich habe keinen Quelltext.
Hat wer eine Idee, wie ich diesem Fehler beikommen kann ?

Gruß
Peter

Bernhard Geyer 18. Mär 2011 14:44

AW: OCX außerhalb IDE
 
Hast du schon den Herstellre kontaktiert und dem ein einfaches Testprogramm zukommen lassen.

Nicht alle OCX'e funktionieren problemlos mit einer Delphi-Anwendung.

hanspeter 18. Mär 2011 20:45

AW: OCX außerhalb IDE
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1089486)
Hast du schon den Herstellre kontaktiert und dem ein einfaches Testprogramm zukommen lassen.

Nicht alle OCX'e funktionieren problemlos mit einer Delphi-Anwendung.

Das OCX schon. Innerhalb der Delphi IDE funktioniert auch alles.
Das OCX selbst wird zur Laufzeit aus der Programmresource nachgeladen und registriert. Mit Der Delphi IDE hat das eigentlich nicht viel zu tun.


Gruß
Peter

Bernhard Geyer 18. Mär 2011 22:38

AW: OCX außerhalb IDE
 
Zitat:

Zitat von hanspeter (Beitrag 1089559)
Das OCX selbst wird zur Laufzeit aus der Programmresource nachgeladen und registriert. Mit Der Delphi IDE hat das eigentlich nicht viel zu tun.

Läst du Delphi mit Adminrechten (Stichwort UAC) laufen? Läuft das Programm ohne diese Rechte und kann das OCX auch ohne Adminrechte für den User registriert werden (Stichwort müsste SideBySide-Registrierung sein)?

hanspeter 19. Mär 2011 06:47

AW: OCX außerhalb IDE
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1089564)
Läst du Delphi mit Adminrechten (Stichwort UAC) laufen? Läuft das Programm ohne diese Rechte und kann das OCX auch ohne Adminrechte für den User registriert werden (Stichwort müsste SideBySide-Registrierung sein)?

Das OCX kann ohne Adminrechte registriert werden.
Das dumme ist ja, das nach dem Fehler (der Anzeige das ein Logfile geschrieben wurde), das OCX einwandfrei funktioniert und sich am Programmende auch problemlos deregistrieren läßt.

Peter

hanspeter 21. Mär 2011 10:59

AW: OCX außerhalb IDE
 
Falls es wen interessiert.

Das Problem liegt am Zusammenspiel Delphi - Windows.
Delphi findet manchmal ein registriertes OCX nicht, wenn nicht zum Zeitpunkt der Registrierung im gleichen Adressraum irgendein Fenster des Programmes geöffnet ist.
Außerdem tun sich einige Delphicomponenten wie TPageControl etwas zickig bei der Zusammenarbeit mit OCX.
Ein Pagecontrol als Parent und die Verwendung von Align führen zu dem Fehler.

Gruß
Peter


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