AGB  ·  Datenschutz  ·  Impressum  







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

Sender soll den Titel des Formulars bestimmen

Ein Thema von Thomas F · begonnen am 4. Feb 2009 · letzter Beitrag vom 4. Feb 2009
Antwort Antwort
Seite 1 von 3  1 23      
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#1

Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:32
Ich wollte die Caption eines Formulars vom Sender abhängig machen
Ich weiss nicht, warum dieser Code nicht funktioniert

Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
begin
if Sender = Unit1.Form1.speedbutton9
then Form4.Caption := ' Eintrag ändern';//Unit4

if Sender = Unit1.Form1.Speedbutton11
then Form4.Caption :='Neuer Eintrag';//Unit4
end;
end;
Wenn man den Speedbutton9 drückt, soll das Formular den Titel "Eintrag ändern"haben,
bei Speedbutton11 den Tiel "Neuer Eintrag" haben.
Liegst vielleicht daran, dass die Speedbuttons in einer anderen Unit sind ???
Gruß

Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.800 Beiträge
 
Delphi 12 Athens
 
#2

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:35
Kommt eine Fehlermeldung oder geht er einfach kommentarlos darüber hinweg?

Hast Du Breakpunkte an die stellen gesetzt und das mal schrittweise durchlaufen?

Sherlock
Oliver
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#3

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:42
Zitat von Sherlock:
Kommt eine Fehlermeldung oder geht er einfach kommentarlos darüber hinweg?

Hast Du Breakpunkte an die stellen gesetzt und das mal schrittweise durchlaufen?

Sherlock
Fehlermeldung kommt keine , der geht einfach darüber hinweg,ohne dass er die Caption übernimmt.

Ist da was falsch am Code ????

Ich habs auch schon bei Form4.Create reingeschrieben, ist aber dasselbe
Gruß

Thomas
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:43
Wie zeigst Du denn das Formular an?

Evtl. wäre es besser, im OnClick der Speedbuttons den Titel zu setzen:
Delphi-Quellcode:
procedure TForm1.SpeedButton9Click;
begin
  with Form4 do
  begin
    Caption := 'Eintrag ändern';
    Show;
  end;
end;
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#5

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:48
Zitat von mirage228:
Wie zeigst Du denn das Formular an?

Evtl. wäre es besser, im OnClick der Speedbuttons den Titel zu setzen:
Delphi-Quellcode:
procedure TForm1.SpeedButton9Click;
begin
  with Form4 do
  begin
    Caption := 'Eintrag ändern';
    Show;
  end;
end;
so.........

Delphi-Quellcode:
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
Unit4.Form4.Show;
 
end;
Gruß

Thomas
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:55
Und woher weiß Unit4.Form4, dass Form1.SpeedButton9 der "Sender" ist? Den müßtest du schon noch irgendwie übergeben - oder nach dem Unit4.Form4.Show noch Unit4.Form4.FormShow(SpeedButton9) aufrufen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:57
Oder eine Property definieren und vor dem Show setzen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 15:58
Hallo,

Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
begin
if Sender = Unit1.Form1.speedbutton9
then Form4.Caption := ' Eintrag ändern';//Unit4

if Sender = Unit1.Form1.Speedbutton11
then Form4.Caption :='Neuer Eintrag';//Unit4
end;
end;

...
  // sieht das in etwa so aus?
  // dann sollte es funktionieren
  Unit4.Form4.FormShow(Unit1.Form1.speedbutton9);

  // Hier tippe ich mal darauf, dass Sender nicht SpeedButton9 ist, sondern eventuell Form1.
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
  Unit4.Form4.Show;
end;
Was kommt dabei heraus, wenn Du mal einShowMessage(Sender.ClassName); in Dein FormShow einbaust?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:02
Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
begin
if Sender = Unit1.Form1.speedbutton9
then Form4.Caption := ' Eintrag ändern';//Unit4

if Sender = Unit1.Form1.Speedbutton11
then Form4.Caption :='Neuer Eintrag';//Unit4
end;
end;
Hier ist Sender immer Form4, es sei denn die Prozedur FormShow wurde manuell mit einem anderen Parameter aufgerufen. Wenn aber beim Anzeigen OnShow ausgelöst wurde, dann ist Sender das Formular selbst.

Wenn du mit dem Button das Formular anzeigst, dann ändere dort doch einfach vorher die Caption.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#10

Re: Sender soll den Titel des Formulars bestimmen

  Alt 4. Feb 2009, 16:14
Zitat von nahpets:
Hallo,

Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
begin
if Sender = Unit1.Form1.speedbutton9
then Form4.Caption := ' Eintrag ändern';//Unit4

if Sender = Unit1.Form1.Speedbutton11
then Form4.Caption :='Neuer Eintrag';//Unit4
end;
end;

...
  // sieht das in etwa so aus?
  // dann sollte es funktionieren
  Unit4.Form4.FormShow(Unit1.Form1.speedbutton9);

  // Hier tippe ich mal darauf, dass Sender nicht SpeedButton9 ist, sondern eventuell Form1.
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
  Unit4.Form4.Show;
end;
Was kommt dabei heraus, wenn Du mal einShowMessage(Sender.ClassName); in Dein FormShow einbaust?
Hab ich gemacht

ShowMessage(Sender.ClassName) := TForm4

Unit4.Form4.FormShow(Unit1.Form1.speedbutton9); Das funktioniert nicht Fehler : zuviele Parameter
Gruß

Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 17:10 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