AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Zur Laufzeit erstellte Elemente werden nicht angezeig

Zur Laufzeit erstellte Elemente werden nicht angezeig

Offene Frage von "justin.kuhn"
Ein Thema von justin.kuhn · begonnen am 13. Apr 2017 · letzter Beitrag vom 16. Apr 2017
Antwort Antwort
Seite 4 von 5   « Erste     234 5   
EWeiss
(Gast)

n/a Beiträge
 
#31

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 14. Apr 2017, 14:04
Zitat:
aber vermutlich hat der Lehrer einen Grund, eine zweite Unit/Klasse zu benutzen.
Jo aber unverständlich.
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
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#32

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 14. Apr 2017, 14:04
Wieso nicht einfach die Buttons im Designer auf das Formular platzieren und diesen ganzen Mist mit dem Erzeugen zur Laufzeug sein lassen?
Der sinn des Lernens halt.
Denn das kann ja jeder.

gruss
  Mit Zitat antworten Zitat
justin.kuhn

Registriert seit: 13. Apr 2017
13 Beiträge
 
#33

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 15. Apr 2017, 21:42
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.
  Mit Zitat antworten Zitat
borstenei

Registriert seit: 11. Nov 2011
121 Beiträge
 
#34

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 15. Apr 2017, 23:01
Dein Beispiel funktioniert bei mir ohne Probleme....
Angehängte Dateien
Dateityp: rar Test.rar (2,22 MB, 3x aufgerufen)
  Mit Zitat antworten Zitat
justin.kuhn

Registriert seit: 13. Apr 2017
13 Beiträge
 
#35

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 15. Apr 2017, 23:10
Dein Beispiel funktioniert bei mir ohne Probleme....
Dein Anhang funktioniert bei mir auch. Also kann es ja nicht am Code liegen. Muss ich vielleicht irgendwelche Einstellungen in Delphi ändern (mal ganz banal gefragt)? Ist etwas an meinem Vorgehen beim Erstellen des Projekts falsch?
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#36

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 15. Apr 2017, 23:36
Vielleicht liegt es ja an Delphi 7? Das Beispiel da oben wurde mit 10.2 Tokyo (gibt es auch kostenlos) kompiliert.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#37

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 16. Apr 2017, 08:43
Vielleicht liegt es ja an Delphi 7? Das Beispiel da oben wurde mit 10.2 Tokyo (gibt es auch kostenlos) kompiliert.
Nope..

Bei meinem D6 funktioniert es auch einwandfrei, somit sollte es auch mit D7 funktionieren..
Angehängte Dateien
Dateityp: zip Test_DynCreateComp.zip (213,9 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#38

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 16. Apr 2017, 08:58
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.
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
t.roller
(Gast)

n/a Beiträge
 
#39

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 16. Apr 2017, 09:24
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.

Geändert von t.roller (16. Apr 2017 um 10:09 Uhr)
  Mit Zitat antworten Zitat
justin.kuhn

Registriert seit: 13. Apr 2017
13 Beiträge
 
#40

AW: Zur Laufzeit erstellte Elemente werden nicht angezeig

  Alt 16. Apr 2017, 12:16
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.
Also ich habe den Code einfach nur "eingetippt" und im Objektinspektor lediglich das Formular umbenannt.
  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:09 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