AGB  ·  Datenschutz  ·  Impressum  







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

Edit von Frame aus ändern

Ein Thema von Samufi · begonnen am 30. Nov 2008 · letzter Beitrag vom 30. Nov 2008
Antwort Antwort
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#1

Edit von Frame aus ändern

  Alt 30. Nov 2008, 13:09
Hallo,
ich schreibe gerade an der Prozedur von einem Button auf einem eingebundenen Frame, mit dem ich ein Edit auf dem Hauptfenster verändern will.
Delphi-Quellcode:
procedure Tgehzu.Button1Click(Sender: TObject);
var Inhalt:string;
begin
Inhalt:='Blabla';
Hauptfenster.Tform1.edit1.text:=Inhalt;
end;
So erscheint bei mir die Fehlermeldung "Methodenbezeichner erwartet" hinter edit1. Ich habe das ganze schon vorher in einem Testprogramm ausprobiert, da hat das alles noch ganz gut geklappt, ich hatte bei Tform1 das T weggenommen und im Hauptfenster form1 mit  var Form1:Tform1 definiert, warum ich das gemacht hatte weiß ich nicht, auf jeden fall hat es funktioniert. Wenn ich das nun mache, passiert bei Klick auf den Button einfach gar nichts. Könnt ihr mir vielleicht sagen, wo der Fehler liegt?
Vielen Dank im Vorraus,
treuergebenst,
Samufi
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 13:41
Das "T" von TForm1 muss weg. Du möchtest ja auf die Form und nicht auf die Deklatation derer zugreifen.

Was ist denn Hauptfenster ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 13:51
"Hauptfenster" ist die Unit, auf der der Frame eingebunden ist. Wenn ich das T einfach wegnehme, ohne die var-Sache, sagt Delphi mir aber, dass Hauptfenster kein Element namens Form1 enthält. Aber selbst mit passiert ja nichts...
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 14:40
var Form1:Tform1 Sollte doch in der Unit deklariert sin in der die Form1 (Hauptfenster ?) ist.


Hier mal ein Beispiel:
Angehängte Dateien
Dateityp: zip framesample_614.zip (213,1 KB, 8x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 15:04
Das habe ich auch alles so gemacht, es funktioniert nur nicht. Ich schicke dir einfach mal, was ich bisher gemacht habe, es ist zwar ein bisschen unaufgeräumt, es ist auch viel Müll im Zip-Ordner, aber ich hoffe, du wirst dich trotzdem zurechtfinden...
Angehängte Dateien
Dateityp: zip batcheditor_107.zip (751,0 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 15:57
Hey, habe ziemlich lang gebraucht bis ich den Fehler gefunden habe ^^

Das ist deine aktuelle DPR Datei.
Delphi-Quellcode:
program BatchEditor;
uses
  Forms,
  Ausgeben in 'Ausgeben.pas',
  Hauptfenster in 'Hauptfenster.pas{Form1},
  gehezu in 'gehezu.pas{gehzu: TFrame};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Du hast 2 Mal! das Formular erstellt, also einmal rauslöschen.

Und wenn du 100 Edits brauchst dann erstell die doch dynamisch:
Delphi-Quellcode:
VAR I:Integer; newEdit:TEdit;
BEGIN
  FOR I := 0 TO 10
    DO BEGIN
      newEdit := TEdit.Create(Form1);
      newEdit.Name := 'eEingabe'+IntToStr(I);
      newEdit.Parent := Form1;
      newEdit.Top := I * 30 + 8; {Abstand in Abhängikeit von I}
      newEdit.Left := 8;
      newEdit.Width := 100;
      {Hier kannst du noch weitere Eigenschaften/Methoden deklarieren}
      newEdit.Show;
    END;
Zugreifen kannst du auf die Editfelder da du wie im designer einen Namen vergeben hast mit:
Delphi-Quellcode:
BEGIN
  newEdit := (Form1.FindComponent('eEingabe0') AS TEdit); // "Typecast" mit TEdit ist nötig damit man weiß um was es sich handelt.
  newEdit.Text := 'Neuer Text';
END;
Sebastian
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 16:23
Vielen Dank für deine Suche!(!!) Ich habe zwar in meinem Projekt die betreffenden Zeilen noch nicht gefunden, weil ich irgendwie nur die beiden unsits sehe, wenn ich die dpr-Datei anklicke, aber das ist wahrscheinlich ganz normal so... Dadurch, dass du mir gezeigt hast, wie man die ganze Sache dynamisch löst, werde ich das Programm noch mal ganz von vorne erstellen, da ist dann auch keine falsche Zeile mehr drin. Das dynamische Erstellen war also viel wertvoller als die Fehlerbehebung (für die ich trotzdem dankbar bin!)! Ist es auch möglich, unendlich viele Edits zu erstellen (bei jedem Knopfdruck eins mehr) und den Platz mit einer Scrolleiste zu schaffen? Das würde dem Ganzen noch einen richtigen Qualitätsschub geben. Falls das aber zu schwer ist, kann ich auch darauf verzichten. Vielleicht sollte ich dafür ein neues Thema aufmachen?...
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 17:05
Klar geht alles, kannst das was ich oben geschrieben habe etwas umändern dann geht es auch per Knopfdruck.
Sebastian
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Edit von Frame aus ändern

  Alt 30. Nov 2008, 17:42
Ich hab das jetzt alles hingekriegt, meine Frage währer jetzt: Geht das auch in einem Frame? --> im neuen Thema
  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 15:53 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