Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#15

Re: Sofortiges Beenden des Prgrammes

  Alt 9. Jul 2009, 20:25
Frage: Wenn da steht "undefinierter Bezeichner", wieso kommst Du dann auf die Idee, daß Memo1 in InDieMemoFelderSchreiben sichtbar wäre? Meinst Du der Compiler sagt Dir nur zum Spaß, daß er den Bezeichner nicht kennt?

Aber um das Ganze aufzuklären:
Das Memo1 ist Bestandteil von Deinem Formular (ich nehme an es heißt Form1). Führ Dir jetzt vor Augen was passiert wenn Du einen Bezeichner referenzierst. Wo schaut Delphi dann nach? Nun, zuerst mal in den lokalen Bezeichnern. Ist Memo1 ein lokaler Bezeichner der Prozedur? Wohl kaum. Falls die Prozedur eine Methode einer Klasse wäre, wird nachgeschaut ob der Bezeichner ein Member der Klasse ist. Die Prozedur in deinem Fall ist nicht Teil einer Klasse. Entsprechend gibts auch da nichts zu finden. Zu guter letzt wird global nachgeschaut ob Memo1 definiert ist. Ist es das in deinem Fall? Nein.

Es gibt jetzt 2 Möglichkeiten wie Du dafür sorgen kannst, daß das Memo1 für Deine Prozedur sichtbar wird. Das Memo1 selbst ist zwar nicht sichtbar, aber das Formular ist es. Du könntest also auf Form1.Memo1 zugreifen. Die zweite Möglichkeit bestünde darin, die Prozedur zu einer Methode des Formulars zu machen. Letztere ist dabei übrigens zu bevorzugen.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat