![]() |
Editfs zur Laufzeit auf Frame erstellen
Hallo,
ich schreibe gerade an einem Programm, wo zur Laufzeit Editfelder erstellt werden sollen. Das aber nicht in der Hauptunit, sondern in einem Frame auf eben dieser. ich habe dazu folgenden Quelltext geschrieben:
Delphi-Quellcode:
Leider passiert aber überhaupt nichts, wenn ich auf den Button klicke. Kann mir jemand sagen, wo der Fehler liegt?
unit Ausgabe;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFrame1 = class(TFrame) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var frame1:Tframe1; implementation {$R *.dfm} procedure TFrame1.Button1Click(Sender: TObject); VAR I:Integer; newEdit:TEdit; BEGIN I:=Strtoint(edit1.Text); newEdit := TEdit.Create(Frame1); newEdit.Name := 'eEingabe'+IntToStr(I); newEdit.Parent := Frame1; newEdit.Top := I * 30 + 8; newEdit.Left := 8; newEdit.Width := 100; newEdit.Show; edit1.text:=inttostr(I+1); end; Vielen Dank im Vorraus, treuergebenst Samufi |
Re: Editfs zur Laufzeit auf Frame erstellen
wo liegt der Button? auf dem Frame wo auch das Edit drauf soll? Das Stück Quelltext ist bischen zu wenig um da was zu erkennen.
|
Re: Editfs zur Laufzeit auf Frame erstellen
Hallo Samufi,
entferne die Variablendeklaration für das Frame in der Unit Ausgabe und ersetze in der Methode Button1Click alle Verweise auf "Frame1" durch "Self", dann funktioniert das. Gruß Hawkeye |
Re: Editfs zur Laufzeit auf Frame erstellen
Der Button, der angeklickt werden soll soll auf der Haupunit liegen. Ich kann aber einen, der auf dem Frame liegt durch einen auf der Hauptunit aufrufen lassen. Insofern sollte das egal sein...
Wenn ich jetzt die Variablendeklaration (also var frame1=Tframe1) entferne, kann ich nicht mehr von außen auf die Elemente auf der Unit zugreifen. Aber ich habs schon probiert, es klappt auch ohne dem Entfernen. Vielen vielen Dank also!!! |
Re: Editfs zur Laufzeit auf Frame erstellen
Es war auch gemeint, den Suffix wegzulassen nicht die Komponente zu löschen
|
Re: Editfs zur Laufzeit auf Frame erstellen
Zitat:
Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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