![]() |
dll - Klasse nicht registriert
Folgendes Problem:
ich habe ein Makro, das eine Funktion in einer registrierten Dll aufruft. Er kommt auch in die Funktion rein, er erstellt einen LogEintrag, wie er es auch soll und dann kommt folgender Aufruf:
Delphi-Quellcode:
dieser funktioniert aber nicht - sondern dann kommt die Fehlermeldung Klasse nicht registriert. und ich verstehe nicht warum. die dll ist registriert, er kommt ja auch in die dll rein, sonst würde er nicht den Logeintrag erstellen.
SplashForm := TSplashForm.Create(Application);
das Splashform ist eine andere unit, aber auch in der Dll drin. Aus welchen Gründen kann dies fehlschlagen. Auf dem Splashform sind folgende Komponenten drauf, aber es gibt keine Funktion in der Unit, es wird auch noch keine Verbindung zur DB hergestellt.
Delphi-Quellcode:
ich weiss da im Moment wirklich nciht weiter in welcher Richtung ich noch suchen könnte. Irgendjemand eine kleine Idee?
Label2: TLabel;
Label3: TLabel; ImgEdit1: TImgEdit; Query: TQuery; DataBase: TDatabase; Danke. Susanne |
Re: dll - Klasse nicht registriert
Hi!
Versuche mal den Owner beim Form.Create durch nil zu ersetzen. |
Re: dll - Klasse nicht registriert
hat auch nichts gebracht. Was mich nur so wunder, auf anderen Rechnern läuft es einwandfrei, aber auf neu eingerichteten nicht. Aber das Makro ist da, was die Dll aufruf, und die Dll ist registriert - und ist auch in der Registry eingetragen.
|
Re: dll - Klasse nicht registriert
SplashForm ist wahrscheinlich ein Splashscreen. Würde jetzt nicht darauf schwören, aber ich es liegt wohl daran das du probierst in der dll eine grafische Komponente zu erstellen.
|
Re: dll - Klasse nicht registriert
aber warum klappt das auf 10 Rechnern, aber nicht auf dem, der gerade neu gemacht wurde? das verstehe ich einfach nicht, auf allen anderen läuft es
|
Re: dll - Klasse nicht registriert
Es müssen bei manchen Programmen Delphi Dll's mitgegeben werden. Ist auf den anderen Rechnern Delphi installiert?
|
Re: dll - Klasse nicht registriert
nein delphi ist nicht installiert - welche dll' könnten das sein?
|
Re: dll - Klasse nicht registriert
Vielleicht GDI+? Meldet er welche Klasse nicht registriert sei?
|
Re: dll - Klasse nicht registriert
die dll ist registriert als Makro.Server und die Meldung lautet: Marko.Server: Klasse nicht registriert
so wirklich hilfreich ist das nicht, oder? gibt es vielleicht irgendwelche Unterschiede zwischen XP und Win2000? auf dem läuft es nämlich auf dem win2000 schafft er es das SplashForm zu createn und anzusprechen, aber nicht auf XP |
Re: dll - Klasse nicht registriert
Hallo,
ich weiß zwar nicht ob ich das richtig verstanden habe, aber Du möchtest doch eine Form (Splashscreen) aus einer DLL aufrufen, was vorher einen Log-Eintrag macht oder sehe ich das falsch ? Wenn nicht, ich rufe Forms aus einer DLL immer mit der folgenden Procedure auf :
Delphi-Quellcode:
Wobei die Procedure in der DLL steht.
procedure configuration(appHandle: THandle); stdcall;
begin if appHandle = 0 then apphandle := GetActiveWindow; Application.Handle := appHandle; try with TConfigurationMain.Create(Application) Do try ShowModal finally Free; end except On E: Exception Do Application.HandleException(E); end; Application.Handle := 0; end; Oder ist das eine fertige DLL, die Du nicht editieren kannst ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07: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