AGB  ·  Datenschutz  ·  Impressum  







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

Button zur Laufzeit erstellen

Ein Thema von Hansi · begonnen am 4. Dez 2004 · letzter Beitrag vom 4. Dez 2004
Antwort Antwort
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#1

Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 15:50
Hallo,

Mit folgendem Code erstelle ich einen Button zur Laufzeit. Dies funktioniert auch.
So nun aber meine Frage: Wenn Ihr den Code in eine neue Anwendung kopiert werdet Ihr feststellen, dass kein Button auf dem Formular ist. Warum?? Die Lösung: Dies schafft Ihr nur wenn Ihr auf das leere Formular doppelklickt und dann in die Procedure TForm1.Formcreate kommt, die Ihr aber vorher schon erstellt habt(kopiert!). Wenn Ihr dann das Programm laufen lasst, erscheint der Button.

Warum?????

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)


  Procedure FormCreate(Sender:TObject);



  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    Button1: TButton;
  end;

var
  Form1: TForm1;
  Button1:TButton;


implementation

{$R *.dfm}

Procedure TForm1.FormCreate(Sender:TObject);
begin
  Button1:=TButton.Create(self);
  Button1.Parent:=Form1;
  Button1.Top:=20;
  Button1.Left:=200;
  Button1.Show;
  Button1.Caption:='Beenden';

end;


end.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 15:51
Weil du im OI dem Formular noch den Event zu weisen musst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 15:52
Weil du erst noch sagen musst, dass du überhaupt etwas im OnFormCreate machen möchtest ...
Und dass tust du, indem du im OI dem Ereignis eine entprechende Ereignisbehandlungsroutine zuweist.

Och menno, immer bin ich zu langsam ...
  Mit Zitat antworten Zitat
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#4

Re: Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 15:52
Aber ich will doch alles zur LAufzeit erstellen!

geht das auch?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 16:09
Hi Hansi,

z.B. so: Form1.OnCreate := FormCreate; Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 16:12
Es gehört immer noch eine dfm Datei dazu und da steht das drinne:
Code:
object Form1: TForm1
  Left = 192
  Top = 107
  Width = 870
  Height = 640
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  [b]OnCreate = FormCreate[/b]
  PixelsPerInch = 96
  TextHeight = 13
end
Warum willst du alles zur Lauftzeit erzeugen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#7

Re: Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 16:19
Genau wegen so einem Problem. Wie Du wahrscheinlich siehst(hast ja schon einige Fragen von mir beantwortet) arbeite ich seit mehreren Monaten intensiv mit Delphi. Und immer wieder hatte ich das problem, dass Irgendwas nicht funktioniert, und dann habe ich nach langem Suchen gemerkt, dass was weiss ich beim OI irgend was einstellen muss. Deshalb versuche ich ab jetzt alles zur Laufzeit zu erstellen. Spricht was aus Deiner Erfahrung dagegen? Ist doch sinnvoll oder?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Button zur Laufzeit erstellen

  Alt 4. Dez 2004, 16:24
Nun ja, man kann auch nach Amerika schwimmen, ich würde aber ein Schiff oder ein Flugzeug vorziehen. Dein Vorhaben macht erstmal keinen Sinn und zweitens wie willst du das kompiliert bekommen? Der Compiler wirft die pas und die dfm Datei zusammen und macht daraus die Exe, einfach gesagt. Wie soll das klappen, wenn du alles erst zur Laufzeit erzeugst?

Was deinem Vorhaben nahe kommt ist der Verzicht auf die VCL und reine WinAPI, nonVCL, Programmierung. Für einen Anfänger aber nicht zu empfehlen. Lerne erstmal die Sprache und die Grundlagen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 03:06 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