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/)
-   -   klasse nicht registriert, nur in ISAP-Dll (https://www.delphipraxis.net/211548-klasse-nicht-registriert-nur-isap-dll.html)

charly52 30. Sep 2022 16:46

klasse nicht registriert, nur in ISAP-Dll
 
Hi all,

ich habe eine WebService Anwendung, einmal Standalone und einmal als ISAP.dll mit exakt dem selben WebModul.
Es laufen beide Varianten auf dem selben Rechner.
Es wird ein OCX zum Texte darstellen (TTxTextControl) benutzt.

Delphi-Quellcode:
  try
    TxTextCtrlBerAn:= TTxTextControl.Create(nil);  <------------  hier knallts vermutl.
    TxTextCtrlBerAn.FontSize:= 8;
    TxTextCtrlBerAn.Visible:= TRUE;
  except on E: Exception do
    Lib_MsgLog(0,'KHSDTopHelpX:: CreateTxTextCtrl: Message = '+e.Message);
  end;
mit dem StandaloneServer läuft alles einwandfrei. Wenn ich aber die ISAPI-Dll an einem IIS benutze bekomme ich beim Create eine Exception.
Klasse ist nicht registriert.

Wo kann der Unterschied sein?



Charly

himitsu 30. Sep 2022 17:14

AW: klasse nicht registriert, nur in ISAP-Dll
 
Dieses OLE-Control / ActiveX ist
* nicht global registriert
** entweder nur in deinem aktiven User-Acount
** oder zumindestens nicht in dem User-Account, in welchem dein WebModul läuft
* oder es ist registriert, aber die DLL dieses Controls ist in diesem Account nicht zugreifbar
* oder ...

charly52 2. Okt 2022 12:55

AW: klasse nicht registriert, nur in ISAP-Dll
 
Danke,

und wie kann ich rausfinden, WIE/WO/FÜR WEN sie registriert ist?
Weil, grundsätzlich kann ich ja mit meinem User damit arbeiten.
Muss ich dazu in der Registry rum graben?


Charly

Olli73 2. Okt 2022 13:03

AW: klasse nicht registriert, nur in ISAP-Dll
 
Also ich würde erst mal testen, ob es läuft, wenn du die ISAPI-DLL unter deinem User-Account laufen lässt...

himitsu 2. Okt 2022 14:00

AW: klasse nicht registriert, nur in ISAP-Dll
 
Die GUID für TTxTextControl wird doch bestimmt im Code stehen
und Jene suchst du in der Registry.

du: HKEY_CLASSES_ROOT und HKEY_CURRENT_USER
benutzer : HKEY_USERS
für alle: HKEY_LOCAL_MACHINE

charly52 8. Okt 2022 13:53

AW: klasse nicht registriert, nur in ISAP-Dll
 
Hallo und vielen Dank für die Infos

sorry für die späte Antwort, wollte nicht unhöflich sein, aber Covid..

@Olli73
Wo muss ich das ändern? Muss ich dazu den IIS konfigurieren?


Charly

Olli73 8. Okt 2022 14:24

AW: klasse nicht registriert, nur in ISAP-Dll
 
Ja, im IIS kann man irgendwo den Benutzer für die App/dll festlegen.

charly52 12. Okt 2022 10:30

AW: klasse nicht registriert, nur in ISAP-Dll
 
Lösung war sowas von banal.
StandAloneServer ist 32Bit.
ISAPI-Dll war aber 64Bit. Laut Danny Wind Video
https://www.youtube.com/watch?v=Vbfk...X9zxjP&index=5
sollte es nur so gehen.
Hab ich in der Aufregung schlicht übersehen.
ISAP-DLL auch in 32-Bit und im IIS einen Schalter von False auf True und es läuft.

Charly


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