AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ressource nicht gefunden

Ein Thema von xZise · begonnen am 24. Mai 2009 · letzter Beitrag vom 31. Mai 2009
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Ressource nicht gefunden

  Alt 24. Mai 2009, 20:30
Hallo ihr!

Ich habe ein Problem mit einer dynamisch erstellten Form. Und zwar meldet er mir immer, sobald ich inherited im Create aufrufe, dass die Ressource nicht gefunden werden konnte:
Zitat:
---------------------------
Dialogtest
---------------------------
Ressource TMessageBox nicht gefunden.
---------------------------
OK
---------------------------
Nun woran liegt dies? Und wie behebe ich das Problem?

MfG
xZise
Angehängte Dateien
Dateityp: pas umessagebox_172.pas (8,1 KB, 12x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ressource nicht gefunden

  Alt 24. Mai 2009, 20:39
Der Konstruktor der TForm-Klasse versucht die persistenten Werte aus der Ressource zu laden
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Ressource nicht gefunden

  Alt 24. Mai 2009, 21:27
Naja, aber als ich fürher das mit "TForm.Create" etc. gemacht hatte, ging das... Was müsste ich also ändern? Besonders welche Ressource braucht er da?

Also ich hatte vorher keine Klasse und das alles in der Methode erledigt. Dies sah dann ungefähr so aus:
Delphi-Quellcode:
var
  frm : TForm;
  btn : TButton;
  ...
begin
  frm := TForm.Create(AOwner);
  btn := TButton.Create;
  try
    frm....;
    btn.Parent := frm;
    btn....;
    Result := frm.ShowModal;
  finally
    frm.Free;
  end;
end;
MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Ressource nicht gefunden

  Alt 25. Mai 2009, 22:00
So ich bin es wieder!

Also im Anhang meine "verbesserte" Variante die auch läuft, obwohl sie so gut wie identisch ist (statt die Klasse als Form einfach eine extra Form).

MfG
xZise
Angehängte Dateien
Dateityp: pas umessagebox_112.pas (10,6 KB, 18x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Ressource nicht gefunden

  Alt 26. Mai 2009, 21:20
Hat den keiner eine Erklärung dafür, warum es funktioniert ohne Ableitung von TForm?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Ressource nicht gefunden

  Alt 26. Mai 2009, 22:16
Zitat von xZise:
Hat den keiner eine Erklärung dafür, warum es funktioniert ohne Ableitung von TForm?
Ich denke das "Problem" liegt im Konstruktor von TForm begraben

Delphi-Quellcode:
constructor TCustomForm.Create(AOwner: TComponent);
begin
  ...
    if (ClassType <> TForm) and not (csDesigning in ComponentState) then
    begin
      Include(FFormState, fsCreating);
      try
        if not InitInheritedComponent(Self, TForm) then
          raise EResNotFound.CreateFmt(SResNotFound, [ClassName]);
      finally
        Exclude(FFormState, fsCreating);
      end;
  ...
end;
Wenn Klassentyp <> TForm versuche Ressource (dfm in Exe) in InitInheritedComponent zu laden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Ressource nicht gefunden

  Alt 27. Mai 2009, 00:08
Aachso das wollte Markus wahrscheinlich sagen?

Naja wie kann ich das verhindern? Nur darüber nie ein eigene TForm Klasse zu benutzen?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Ressource nicht gefunden

  Alt 31. Mai 2009, 18:46
*Push*
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Ressource nicht gefunden

  Alt 31. Mai 2009, 18:59
Genau dafür ist CreateNew da.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Ressource nicht gefunden

  Alt 31. Mai 2009, 21:07
Ah danke!

Damit funktioniert es nun wunderbar (naja in der Unit ist noch ein Bug, aber ansonsten ist alles in Ordnung!)

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 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