AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Form wird nicht gefunden

Offene Frage von "MrDevil"
Ein Thema von MrDevil · begonnen am 22. Mär 2007 · letzter Beitrag vom 22. Mär 2007
Antwort Antwort
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#1

Form wird nicht gefunden

  Alt 22. Mär 2007, 16:36
Ich erzeuge zur Laufzeit eine Form wie folgt;

m1_form := Tm1_form.create(m1_form); Dann suche ich nach dieser wie folgt;

Delphi-Quellcode:
procedure Ttb_form.Button1Click(Sender: TObject);
var
  AForm: TForm;
begin
  AForm := TForm(Application.FindComponent('m1_form'));

  if AForm = nil then
  ShowMessage('Nicht gefunden!');
end;

Aber leider finde ich die Form nicht. Wichtig ist das an der art des findens nichts geändert werden darf!
Gruss Jens
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Form wird nicht gefunden

  Alt 22. Mär 2007, 16:41
Wenn Du willst das das Formular in der Application-Forms-Auflistung zu finden ist mußt du es auch dort erstellen:

Application.CreateForm(Tm1_form, m1_form);
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Form wird nicht gefunden

  Alt 22. Mär 2007, 16:42
Du kannst auch nicht nach der Bezeichnung der Referenzvariable sondern nur nach dem Namen der Form suchen:
Delphi-Quellcode:
m1_form := Tm1_form.create(Application);
m1_form.Name := 'm1_form');
[Edit:Zitiert ohne genau zu Lesen. Sich selbst als Owner geht natürlich nicht]
Markus Kinzler
  Mit Zitat antworten Zitat
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#4

Re: Form wird nicht gefunden

  Alt 22. Mär 2007, 16:44
Ich nahm die Zeile

Application.CreateForm(Tm1_form, m1_form); aus der DPR raus, da ich mit der hauptform wäredn des create auf ide Form zugreife und es so immer Zugrifsverletzungen gab.

also schrieb ich in der create der hauptForm
m1_form := Tm1_form.create(m1_form); das funzte nämlich...

wenn ich in der Create der Hauptform
Application.CreateForm(Tm1_form, m1_form); schreibe wird nur die Form "m1_form" angezeigt die Hauptform nicht
Gruss Jens
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Form wird nicht gefunden

  Alt 22. Mär 2007, 16:47
das hier macht keinen Sinn:
m1_form := Tm1_form.create(m1_form); Warum übergibst du m1_form als Owner wenn du es ja gerade erst erstellst und es somit zu dem Zeitpunkt unbestimmt ist?
Im besten Fall ist m1_form zu diesem Zeitpunkt nil und somit kann man auch gleich:
m1_form := Tm1_form.create(nil); schreiben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#6

Re: Form wird nicht gefunden

  Alt 22. Mär 2007, 16:51
Zitat von SirThornberry:
das hier macht keinen Sinn:
m1_form := Tm1_form.create(m1_form); Warum übergibst du m1_form als Owner wenn du es ja gerade erst erstellst und es somit zu dem Zeitpunkt unbestimmt ist?
Im besten Fall ist m1_form zu diesem Zeitpunkt nil und somit kann man auch gleich:
m1_form := Tm1_form.create(nil); schreiben.
Ok das habe ich geändert - ändert aber nichts an der suche nach der Form
Gruss Jens
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Form wird nicht gefunden

  Alt 22. Mär 2007, 16:57
du musst das von "Bernhard Geyer" und "mkinzler" kombinieren. Mit Application.FindComponent findest du nur die Forms welche als Owner Application bekommen haben.
Also entweder so:
Delphi-Quellcode:
m1_form := Tm1_form.create(Application);
m1_form.Name := 'm1_form';
oder
Delphi-Quellcode:
Application.CreateForm(Tm1_form, m1_form);
m1_form.Name := 'm1_form';
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#8

Re: Form wird nicht gefunden

  Alt 22. Mär 2007, 17:05
Zitat von SirThornberry:
du musst das von "Bernhard Geyer" und "mkinzler" kombinieren. Mit Application.FindComponent findest du nur die Forms welche als Owner Application bekommen haben.
Also entweder so:
Delphi-Quellcode:
m1_form := Tm1_form.create(Application);
m1_form.Name := 'm1_form';
oder
Delphi-Quellcode:
Application.CreateForm(Tm1_form, m1_form);
m1_form.Name := 'm1_form';
Ok danke und jetzt habe ich es auch begriffen!
Gruss Jens
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:03 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