Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi dll - Klasse nicht registriert (https://www.delphipraxis.net/80122-dll-klasse-nicht-registriert.html)

Susanne 3. Nov 2006 09:11


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:
SplashForm := TSplashForm.Create(Application);
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.
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:
    Label2: TLabel;
    Label3: TLabel;
    ImgEdit1: TImgEdit;
    Query: TQuery;
    DataBase: TDatabase;
ich weiss da im Moment wirklich nciht weiter in welcher Richtung ich noch suchen könnte. Irgendjemand eine kleine Idee?
Danke.
Susanne

chaosben 3. Nov 2006 09:20

Re: dll - Klasse nicht registriert
 
Hi!

Versuche mal den Owner beim Form.Create durch nil zu ersetzen.

Susanne 3. Nov 2006 09:39

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.

Koolance 3. Nov 2006 09:57

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.

Susanne 3. Nov 2006 09:59

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

Koolance 3. Nov 2006 10:03

Re: dll - Klasse nicht registriert
 
Es müssen bei manchen Programmen Delphi Dll's mitgegeben werden. Ist auf den anderen Rechnern Delphi installiert?

Susanne 3. Nov 2006 10:07

Re: dll - Klasse nicht registriert
 
nein delphi ist nicht installiert - welche dll' könnten das sein?

mkinzler 3. Nov 2006 10:14

Re: dll - Klasse nicht registriert
 
Vielleicht GDI+? Meldet er welche Klasse nicht registriert sei?

Susanne 3. Nov 2006 10:19

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

RWarnecke 3. Nov 2006 11:02

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:
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;
Wobei die Procedure in der DLL steht.

Oder ist das eine fertige DLL, die Du nicht editieren kannst ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.
Seite 1 von 2  1 2      

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