Guten Morgen
ehrlich gesagt finde ich die Frage garnicht mal so unberechtigt
und ich muste eben selbst erstmal wieder das Ablaufverhalten in einem Windows Programm erforschen.
Das Programm bekommt man problemlos compiliert.
Das "Begin" vor dem "end." kann man machen, muss man aber anscheinend nicht.
Das war mir auch neu. Aber:
@Kieler:
Das ist NICHT das Hauptprogramm in dem Du deinen Code schreibst.
An dieser Stelle könnte man spezielle Initialiserungen machen,
aber dort darfst Du
"noch nicht" auf die Komponenten wie TForm zugreifen.
Das ist ja nur eine "Unit" der Du, ganz oben, den Namen unitneu gegeben hast.
Dieser Begin end Block dient eigentlich nur zum Initialieren deiner Unit.
Jede Unit hat diesen Initialisierungsteil, der beim Starten des Programms einmal durchlaufen wird.
Da kann was drin stehen, muss aber nicht.
Der Fehler tritt nun auf, weil es TForm zu diesem Zeitpunkt noch garnicht gibt.
Das Objekt wird erst später in der Anwenung erstellt und somit entsteht der Fehler.
In einer Windowsanwendung ist der Ablauf eines Hauptprogramms etwas anders geregelt
und eher "versteckt" würde ich das mal nennen.
Ein Hauptprogramm gibt es natürlich auch, aber mit dem kommt man eigentlich nie in Berührung.
Das gesamte System läuft über sogenannte Messages (Meldungen) Jeder schickt jedem irgendwas was er machen soll.
Die Komponenten oder Objekte reagieren dann entsprechend auf diese Meldungen.
Im Objektinspektor hast Du ja die Eigenschaften vom Formular.
Dort machst Du deine Grundeinstellungen, wie es aussehen soll usw.
Dann gibt es die Spalte "Ereignisse" und dort legt man fest wie das Objekt,
also z.B dein Formular auf bestimmte Ereignisse reagieren soll.
Dort wäre, in deinem Falle, das Ereignis OnCreate sinnvoll.
Dieses wird ausgelöst wenn das Formular erzeugt wird.
Du klickst also "doppelt" mit der Maus in das Feld bei OnCreate und Lazarus erzeugt Dir automatisch
einen Porpgrammcode und genau dort schreibts Du jetzt deinen Code rein.
Form1.Color:=clBackground;
Das wars dann schon....
Dann packst Du Dir einen Button aufs Formular
Im Objectinspector klickst Du auf Ereignisse "OnClick"
Lazarus erzeugt Dir einen Code und dort schreibst Du rein
Close;Dann hast Du jetzt einen Button um dein Programm zu beenden.
Ich hoffe, ich konnte Dir den Einstieg erleichtern
Siro
Das Problem mit dem TEdit zuweisen lässt sich sicher ganz schnell lösen, einfach mal den Code reinstellen....
Dafür sind wir hier.....