AGB  ·  Datenschutz  ·  Impressum  







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

Variable auf Form setzen

Ein Thema von Delphi-Narr · begonnen am 28. Jul 2010 · letzter Beitrag vom 28. Jul 2010
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

Variable auf Form setzen

  Alt 28. Jul 2010, 17:08
Delphi-Version: 2005
Hallo,
ich habe eine Variable F:TForm und einen String S mit dem Namen eines Formulars der Anwendung.
Jetzt möchte ich F auf das Formular mit dem Namen S setzen. Wie mach ich das?


Edit:
Hier ein Beispiel wie ich das meine:

Delphi-Quellcode:
var i:integer;
    F:TForm;
begin
     i:=2;
     F:='Form'+IntToStr(i);
     
     //Und ich möchte hier "Form2" angezeigt bekommen
     showmessage(F.name);
end;

Viele Grüße!

Geändert von Delphi-Narr (28. Jul 2010 um 17:42 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 17:41
f := Findcomponent(s);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 17:44


So einfach... Dachte das gilt nur für Buttons etc...
Danke!

F:=Findcomponent(Formname) as TForm;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 17:48
Auch ein Formular ist eine Komponente
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 18:27
Klappt aber trotzdem irgendwie nicht...

Delphi-Quellcode:

procedure TForm4.Button1Click(Sender: TObject);
var F:TForm;
begin
     F:=FindComponent('Form'+IntToStr(4)) as TForm;
     showmessage(F.name);
end;
Gibt eine Fehlermeldung (Zugriffsverletzung bei Adresse...)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 18:28
Heisst die Form auch Form4?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 18:30
Ja...
showmessage(Form4.name); klappt wunderbar...

Edit:
Fehler gefunden:

Application.findcomponent muss es heißen...

Geändert von Delphi-Narr (28. Jul 2010 um 18:33 Uhr)
  Mit Zitat antworten Zitat
c4rtm4n

Registriert seit: 28. Jan 2009
Ort: Oldenburg (Oldenburg)
26 Beiträge
 
Delphi 2009 Enterprise
 
#8

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 18:36
Um eventuelle Zugiffsschutzverletzungen entgegenzuwirken könnte man vielleicht noch folgendes machen:

Delphi-Quellcode:
...

var
  c: TComponent;
begin
  c := FindComponent('Form4');

  if not Assigned(c) then
    exit;

  if (c is TForm) then
    ShowMessage(TForm(c).Name);
end;
Gruß
Carsten
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Variable auf Form setzen

  Alt 28. Jul 2010, 18:39
Von welcher Klasse nimmst du die Methode?
f := Application.FindComponent( 'Form4') as TForm; Alternativ kannst du auch noch Screen.Forms[] durchgehen
Markus Kinzler

Geändert von mkinzler (28. Jul 2010 um 18:42 Uhr)
  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 13:38 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