![]() |
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Zitat:
Denn wenn ich schon alle Controls dynamisch erzeuge dann sollte man das auch mit den Form's so halten. Wer weis schon was er sich dabei gedacht hat. gruss |
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Zitat:
Denn das kann ja jeder. gruss |
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Ich habe mir auf Empfehlung mal das Buch Delphi für Kids zugelegt und Delphi mit dem Download des Buches neu installiert, um Fehlerquellen meiner bisherigen Installation auszuschließen. Das Buch konnte mir vor allem bei theoretischen Fragen bereits weiterhelfen. Mein eigentliches Problem ist jedoch noch nicht gelöst. Selbst bei den simpelsten Projekten, tauchen beim Ausführen keine Elemente auf. Meine Vorgehensweise: Ich öffne eine neues Projekt und speichere dieses zunächst. Dann benenne ich das Formular um und beginne, das Programm zu programmieren. Hier ein weiteres Experiment, auch wieder ohne Erfolg:
Delphi-Quellcode:
unit uMain;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMain = class(TForm) procedure FormCreate(Sender: TObject); procedure Willkommen(Sender: TObject); private { Private-Deklarationen } btHallo:TButton; lblHallo:TLabel; public { Public-Deklarationen } end; var Main: TMain; implementation {$R *.dfm} procedure TMain.FormCreate(Sender: TObject); begin SetBounds(150,150,230,260); Caption := 'Hallo'; btHallo := TButton.Create(Main); btHallo.Parent := Main; btHallo.Visible := True; btHallo.SetBounds(50,20,120,50); btHallo.Caption := 'Hallo'; btHallo.OnClick := Willkommen; end; procedure TMain.Willkommen(Sender: TObject); begin lblHallo := TLabel.Create(Main); lblHallo.Parent := Main; lblHallo.Visible := True; lblHallo.SetBounds(50,90,120,50); lblHallo.Caption := 'Willkommen'; end; end. |
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Liste der Anhänge anzeigen (Anzahl: 1)
Dein Beispiel funktioniert bei mir ohne Probleme....
|
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Zitat:
|
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Vielleicht liegt es ja an Delphi 7? Das Beispiel da oben wurde mit 10.2 Tokyo (gibt es auch kostenlos) kompiliert.
|
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Bei meinem D6 funktioniert es auch einwandfrei, somit sollte es auch mit D7 funktionieren.. ;) |
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Mal eine andere Frage: sind die Methoden denn auch den entsprechenden Events zugewiesen, oder wurde der Code einfach nur "frei Hand" eingetippt? Schau doch mal im Objektinspektor auf der Seite Ereignisse nach.
|
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Beispiel in #37 (EXE und Compilation) funktioniert auch in WIN8.1, XE7.
Code in #1 funktioniert mit kleinen Änderungen - an XE7 angepasst:
Delphi-Quellcode:
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure NeuesFenster(Sender:TObject); procedure F2Close(Sender: TObject); procedure FC(Sender: TObject); private { Private-Deklarationen } bt1: TButton; bt2: TButton; F2: TForm; btEnde: TButton; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FC(Sender: TObject); begin Application.Terminate; end; procedure TForm1.FormCreate(Sender: TObject); begin bt1:= TButton.Create(Self); bt1.SetBounds(20,20,160,60); bt1.Parent:= Self; bt1.Caption:= 'Neues Fenster'; bt1.OnClick:= NeuesFenster; btEnde:= TButton.Create(Self); btEnde.SetBounds(20,100,160,60); btEnde.Parent:= Self; btEnde.Caption:= 'Schliessen'; btEnde.OnClick:= FC; end; procedure TForm1.NeuesFenster(Sender:TObject); begin F2:=TForm.Create(Self); F2.Show; bt2:= TButton.Create(F2); bt2.SetBounds(20,20,160,100); bt2.Parent:= F2; bt2.Caption:= 'Formular schließen'; bt2.OnClick:= F2Close; bt1.enabled:=false; end; procedure TForm1.F2Close(Sender: TObject); begin F2.Close; bt1.enabled:=true; end; end. |
AW: Zur Laufzeit erstellte Elemente werden nicht angezeig
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz