Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler bei Übernahme von Text aus Edit (https://www.delphipraxis.net/158969-fehler-bei-uebernahme-von-text-aus-edit.html)

WM_CLOSE 9. Mär 2011 19:30

AW: Fehler bei Übernahme von Text aus Edit
 
Ich glaube eher, du verwendest die falsche Instanz von TfrmTitel:
ersetze das
Delphi-Quellcode:
frmTitel.Edit1.Text;
durch
Delphi-Quellcode:
self.Edit1.Text;

KPBecker 9. Mär 2011 19:32

AW: Fehler bei Übernahme von Text aus Edit
 
Hallo, Luckie,

das darf nicht wahr sein:

Delphi-Quellcode:
procedure TfrmTitel.btnAnmeldenClick(Sender: TObject);
//  Benutzer anmelden
var
  ben, pw: string;
begin
  ben:= Edit1.Text;
  pw := ledPasswort.Text;
  BenAnmelden(ben, pw);
end;
Das geht !
Warum auch immer ???

Vielen dank allen Diskutanten
KP

stahli 9. Mär 2011 19:34

AW: Fehler bei Übernahme von Text aus Edit
 
Lade mal Dein Projekt als Zip hoch, dann können wir es Dir sicher erklären...

WM_CLOSE 9. Mär 2011 19:44

AW: Fehler bei Übernahme von Text aus Edit
 
Son Quatsch, ich kann es so erklären:

frmTitel ist eine globale Variable (oder fast)
Das Formular wird in dem dpr-file erzeugt:
Delphi-Quellcode:
CreateForm(frmTitel, TfrmTitel)
Dann kommt der programmierer und erzeugt in irgendeiner seiner funktionen ein anderes Formular. Das hat zwar den selben Typ, aber es ist ein seperates Formular.

Greift jetzt der programmierer auf die globale Varible zu, erhält er eben nur die Variablen der ersten Instanz.

Deshalb muss in Methoden einer Klasse immer auf die aktuelle
Instanz zugegriffen werden. Das erreicht man indem man self davorschreibt, oder es komplett weglässt.

stahli 9. Mär 2011 19:49

AW: Fehler bei Übernahme von Text aus Edit
 
Ich hatte 2 Ideen:

- 2 Formularinstanzen
- ein dynamisch erzeugtes Edit1 in der frmTitel.pas

Man kann es nicht wissen...

Sir Rufo 9. Mär 2011 19:51

AW: Fehler bei Übernahme von Text aus Edit
 
Füge mal diesen Code ein, dann sollte das klarer werden :mrgreen:
Delphi-Quellcode:
procedure TfrmTitel.btnAnmeldenClick(Sender: TObject);
// Benutzer anmelden
var
  ben, pw: string;
begin

  if Self <> frmTitel then
    ShowMessage( 'Ich Depp will doch auf die falsche Instanz zugreifen!' );

  ben:= Edit1.Text;
  pw := ledPasswort.Text;
  BenAnmelden(ben, pw);
end;

s.h.a.r.k 9. Mär 2011 19:53

AW: Fehler bei Übernahme von Text aus Edit
 
@Sir Rufo: Dein Beitrag ist aber nur FSK 18, wegen bösen Begriffen -- frag doch bitte erst mal nach dem Alter :mrgreen:

WM_CLOSE 9. Mär 2011 19:54

AW: Fehler bei Übernahme von Text aus Edit
 
@Stahli: "Edit1" dynamisch? nie und nimmer.:wink:
Da fress ich nen Besen wenn das dynamisch ist.

s.h.a.r.k 9. Mär 2011 19:55

AW: Fehler bei Übernahme von Text aus Edit
 
Dann hol ich schon mal einen Besen. Warum sollte er das nicht "überschreiben" können. Wenn er irgendwo
Delphi-Quellcode:
Edit1 := TEdit.Create(frmTitle) // etc
macht, dann ist das schneller passiert als man denkt ;) Das ist zwar sehr unwahrscheinlich, aber möglich.

Sir Rufo 9. Mär 2011 19:56

AW: Fehler bei Übernahme von Text aus Edit
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1087115)
@Sir Rufo: Dein Beitrag ist aber nur FSK 18, wegen bösen Begriffen -- frag doch bitte erst mal nach dem Alter :mrgreen:

Wieso datt denn?

Ok, ich habe das Johnny vergessen, das kann natürlich zu Missverständnissen führen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:56 Uhr.
Seite 2 von 3     12 3      

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