Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Text aus TEdit auslesen (https://www.delphipraxis.net/164220-text-aus-tedit-auslesen.html)

Marcel2906 3. Nov 2011 08:40

Delphi-Version: 2010

Text aus TEdit auslesen
 
Hab ein Problem.
Eigentlich sollte es kein Problem sein, aber irgendwie mach ich was falsch.
Also ich habe 2 Formulare..Form1 und Form2...und Form2 enthält mehrere TEdit Felder.
Nun soll bei einem Klick auf einem Button in Form 1 der Text aus Form2 ausgelesen werden.
Doch ich hänge schon bei dem auslesen des Textes in Form2...viel Text und kein Code nützt auch nichts, also hier:

Form2:

Delphi-Quellcode:
Unit Anzeige;

Interface

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

Type
   TForm2 = Class(TForm)
      Feld00: TEdit;
      Feld01: TEdit;
      Feld02: TEdit;
      Feld03: TEdit;
      Feld04: TEdit;
      Feld05: TEdit;
      Feld06: TEdit;
      Feld07: TEdit;
      Feld08: TEdit;
      Feld10: TEdit;

   private
      { Private-Deklarationen }
   public
      Function outFeld00: integer;
   End;

Var
   Form2: TForm2;

Implementation

{$R *.dfm}

{ TForm2 }


Function TForm2.outFeld00: integer;
Begin
   Result := StrToInt(Feld00.Text);    // <---- hier steckt der Fehler
End;

End.
Noch Form 1 der entsprechende Teil:

Delphi-Quellcode:
Procedure TForm1.Button2Click(Sender: TObject);
Var
   i, x, y, z: integer;

Begin
   x := 0;
   y := 0;
   z := 1;
   Sudoku[0, 0] := Form2.outFeld00;
End;

End.

DeddyH 3. Nov 2011 08:46

AW: Text aus TEdit auslesen
 
Und welcher Fehler?

Marcel2906 3. Nov 2011 09:15

AW: Text aus TEdit auslesen
 
Zitat:

Zitat von DeddyH (Beitrag 1134174)
Und welcher Fehler?

sry für die verspätete Antwort..Delphi hat sich total zerlegt..

Zitat:

Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 004B883D in Modul 'Solver.exe'. Lesen von Adresse 00000388'. Prozess Solver.exe (2332)

DeddyH 3. Nov 2011 09:17

AW: Text aus TEdit auslesen
 
Form2 existiert zu diesem Zeitpunkt bereits?

himitsu 3. Nov 2011 09:22

AW: Text aus TEdit auslesen
 
Man merke sich :
$00000388 >>> $0000xxxx (x = ignorieren) >>> $00000000 >>> 0=nil >>> etwas existiert nicht, bzw. sein Zeiger steht auf nil

Wenn der Zeiger nicht auf nil steht und es dennoch nicht existert, dann wird's erst spaßig ... aber wir initialisieren unsere variablen ja immer brav, damit sowas nicht passiert. :angle:

PS: Beim Debuggen würde dir der Debugger sagen, daß Form2 oder Feld00 vermutlich nil ist und schon hätte man den Fehler selber gefunden.
Wobei Feld00 doch vermutlich auf der Form2 liegt, demnach würde der VCL-Loader das erstellen und das Feld (Feld00) befüllen ... also bleibt nur noch Form2 :angle2:

Marcel2906 3. Nov 2011 09:23

AW: Text aus TEdit auslesen
 
ich denke schon..es ist auf jedenfall sichtbar:

Delphi-Quellcode:
Procedure TForm2.FormCreate(Sender: TObject);
Begin
   Visible := True;
End;

Marcel2906 3. Nov 2011 09:24

AW: Text aus TEdit auslesen
 
und wie muss ich form2 dann erstellen und wo?

DeddyH 3. Nov 2011 09:25

AW: Text aus TEdit auslesen
 
Zitat:

Zitat von himitsu (Beitrag 1134192)
Wobei Feld00 doch vermutlich auf der Form2 liegt,

Steht ja auch oben :angel2:

[edit] Ist Form2 von der automatischen Erstellung ausgenommen? Oder rufst Du Deinen Code bereits im FormCreate von Form1 auf? [/edit]

himitsu 3. Nov 2011 09:26

AW: Text aus TEdit auslesen
 
Entweder du läßt es automatisch erstellen, so wie Form1 auch ... siehe Projektoptionen, bzw. in der Projektdatei (*.dpr).

Oder man erstellt es so, wie jedes andere Objekt auch >>> .Create :roll:


@DeddyH: Da steht nicht, daß die wirklich auf der Form liegen ... man könnte auch die Felder per Hand in die Klasse geschrieben haben. :stupid:

Marcel2906 3. Nov 2011 09:30

AW: Text aus TEdit auslesen
 
also in den Projektoptionen steht Form1 und Form2 automatisch erzeugen...also müsste es doch eig. gehen


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.
Seite 1 von 2  1 2      

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