Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Caption in neu erzeugtem Formular verändern? (https://www.delphipraxis.net/65227-caption-neu-erzeugtem-formular-veraendern.html)

PeterPanino 14. Mär 2006 00:04


Caption in neu erzeugtem Formular verändern?
 
Hallo Delphi-Programmierer!

Ich habe in meinem Programm ein zusätzliches Formular (MyForm), das nicht in der Projektdatei (.dpr) erzeugt wird, sondern erst wenn es benötigt wird:

Delphi-Quellcode:
var
  ThisForm: TMyForm;

ThisForm := TMyForm.Create(self);
try
  with ThisForm do
  begin
    Caption := 'Meine Titelzeile'; // funktioniert!
    Edit1.Text := 'Mein Text'; // funktioniert!
  end;
  Application.BringToFront;
  if ThisForm.ShowModal = mrOK then
  begin
    // Tue etwas
  end;
finally
  ThisForm.Free;
end;
In der Unit von MyForm kann ich alle Steuerelemente von MyForm beliebig verändern, NUR NICHT die Caption von MyForm:

Delphi-Quellcode:
Edit1.Text := 'NEU'; // funktioniert!
MyForm.Caption := 'NEU'; // funktioniert NICHT!
Warum kann ich in der MyForm-Unit die Titelzeile des Formulars nicht verändern?

Wie kann ich sie trotzdem verändern?

Wäre für jeden Hinweis sehr dankbar!

s.h.a.r.k 14. Mär 2006 00:33

Re: Caption in neu erzeugtem Formular verändern?
 
Hey.

In welcher Funktion verwendest du den Code
Delphi-Quellcode:
Edit1.Text := 'NEU'; // funktioniert!
MyForm.Caption := 'NEU'; // funktioniert NICHT!
Wenn du ihn beim OnCreate der MyForm einfügst ist es klar dass es nicht geht. Denn wenn du die Form erstellst wird die Caption auf 'Neu' gesetzt, danach führst du aber den Code Caption := 'Meine Titelzeile'; aus.

Mach mal nen Test und setz einen Button auf MyForm und änderen beim OnClick die Caption. Ändert sich dann was?!

Hatte letztens aber auch mal so ein komisches Problem mit dem ShowModal! :?

PeterPanino 14. Mär 2006 00:44

Re: Caption in neu erzeugtem Formular verändern?
 
Zitat:

Zitat von s.h.a.r.k
In welcher Funktion verwendest du den Code

Natürlich nicht in OnCreate, sondern in einer User-Interaktion (Anwender klickt Button).

Vielen Dank für die Antwort!

Mavarik 14. Mär 2006 06:57

Re: Caption in neu erzeugtem Formular verändern?
 
Hallo!

Wie ist den Dein Zugriff? MyForm.Caption?

Das geht nicht, Du hast das Formular nicht mit der localen Variable MyForm erzeugt,
sondern mit ThisForm!!! Das sind zwei unterschiedliche Zeigter!

Also entweder mit self.Caption oder im Create die locale Variable verwenden!

Frank :coder:

PeterPanino 14. Mär 2006 23:04

Re: Caption in neu erzeugtem Formular verändern?
 
Zitat:

Zitat von Mavarik
Hallo!

Wie ist den Dein Zugriff? MyForm.Caption?

Das geht nicht, Du hast das Formular nicht mit der localen Variable MyForm erzeugt,
sondern mit ThisForm!!! Das sind zwei unterschiedliche Zeigter!

Also entweder mit self.Caption oder im Create die locale Variable verwenden!

Frank :coder:

Danke! DAS war der Fehler!

Herzlichen Gruß,
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 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