delphino hat folgendes geschrieben: |
Hallo,
ich bin Delphi-Anfänger. Oft wird ja auf irgendwelche Klicks mit der Maus entsprechend reagiert.
Wo dort der Code hinkommt habe ich auch einigermaßen verstanden.
Aber: Wo läuft in Delphi der normale "Main" Prozeß ab, wie ich ihn aus anderen Programmiersprachen kenne?
Wo kann ich in Delphi dort im Hintergrund was berechnen lassen o.ä. und darauf zugreifen.
Gruß
Wolfgang |
Delphi wartet auf eine Mausklick, Tastendruck usw. Das ist nicht wirklich etwas neues, das tun Konsolenprogramme normalerweise ja auch, und genau wie bei einem solchen Programm kannst du eine Berechnung starten, wenn alle Eingaben dazu gemacht sind - z.B. wenn der User auf einen Knopf "Berechnen" drückt. Der Nachteil ist, dass dein Programm natürlich nicht mehr auf Eingaben reagiert, bis die Berechnung fertig ist, anderseits stellt sich die Frage, was es in der Zeit denn mit Eingaben anfangen soll. Sinnvoll ist etwa ein Button für "Abbrechen". Um den auszuwerten, kann man in der Schleife für die Berechnung Application.ProcessMessages einfügen und eine Abbruchbedingung abfragen oder einen extra Thread für die Berechnung einrichten.
Wenn es überhaupt nur um eine einzige Funktion geht, etwa eine Ascii-Datei in eine Unicode-Datei umzuwandeln, ist eine Konsolenanwendung garkeine schlechte Idee:
Delphi-Quelltext
1: 2: 3: 4:
| writeln ('Moment bitte, ich rechne ...'); MeineRechenFunktion; writeln ('Fertig! Ergebnisse:'); writeln ( ... |
Ist einfach und hat den Scharm der Gründerzeit.
Gruss Reinhard
Nachtrag (editiert, der Vollständigkeit halber):
Main heisst unter Windows WinMain und existiert natürlich auch unter Delphi. Es ist aber nicht vorgesehen, dass WinMain vom Programmierer verändert wird. Die Schleife steckt in "Application.Run". Man kann aber vor oder nach Application.Run in der dpr-Datei norrmalen Programmcode einfügen, wenn das irgendeinen Sinn macht.