Entwickler-Ecke
Sonstiges (Delphi) - Grundlegend: Programmablauf
Robert555 - Do 20.03.03 13:53
Titel: Grundlegend: Programmablauf
Hi! Bin NEU :wink: hier und habe KAUM :o Ahnung von Delphi... aber ich will mich jetzt intensiv damit beschäftigen und habe eine grundlegende Frage zu dieser Programmiersprache, die hoffentlich "idiotensicher" :eyecrazy: beantwortet werden kann.
Kann ich, WÄHREND mein Programm läuft und Eingaben entgegen nehmen kann, irgendeine andere Prozedur in Schleife laufen lassen - also sozusagen so 'ne Art "Multitasking"?
Beispielsweise sollen die Mauskoordinaten in einem Textfeld ständig angezeigt/aktualisiert werden, während mein Programm läuft - ich weiß, das geht auch leichter... mir fällt gerade kein besseres Beispiel ein... und mit Timer geht es wohl auch... aber genau das will ich eben nicht...
Hat jemand Rat???
kiwicht - Do 20.03.03 14:07
wenn deine HauptForm ausgewählt ist, also z.B. "FORM 1", gehe mal auf den "OBJECT INSPECTOR", dort auf den Reiter "EVENTS" bzw. "EREIGNISSE"
da gibts ein Event: "OnMouseMove" ... das beantwortet deine Frage hoffentlich...
Robert555 - Do 20.03.03 15:10
Titel: Verständigungsprobleme
Ja, danke für den Hinweis - das wusste ich aber schon... aber ich meine etwas anderes! Wichtig ist für mich nur eines:
Kann ich, WÄHREND mein Programm läuft und Eingaben entgegen nehmen kann (also bspw. irgendwelche OnMouseMove-Prozeduren), irgendeine andere Prozedur in Schleife laufen lassen - also sozusagen so 'ne Art "Multitasking"?
Oder auch: Kann ich eine (bspw. Prozedur) in Unit1 ausführen lassen, und absolut GLEICHZEITIG eine andere Prozedur in Unit2 in Schleife laufen lassen?
Besser ausgedrückt?
Tino - Do 20.03.03 15:13
Du kannst einzelne Aufgaben in einem eigenen Thread laufen lassen. Schau Dir mal in der Delphi-Hilfe das tThread-Objekt an. Davon musst Du eine Ableitung erstellen und die Methode Execute überschreiben.
Gruß
Tino
kiwicht - Do 20.03.03 15:14
hm, dann weiß ich nicht was du meinst.
Wenn ich eine Unit1 in OnMouseOver aufrufe, und die andere Unit2 im Timer, dann läuft doch beides auch gleichzeitig.
Jedenfalls simuliert Gleichzeitig.
Wirklich "REAL" gleichzeitig, geht wohl nur, wenn du die entsprechende Hardware besitz, denn Windows simuliert hier nur, arbeitet die Befehle als je nach Priorität so schnell nacheinander ab, das es dir vorkommt als sei es gleichzeitig.
// edit:
nun ja, oder halt so... :oops:
Motzi - Do 20.03.03 15:16
Ja, das geht! Und zwar mit Hilfe von Threads. Threads sind allerdings ein recht komplexes Thema, du solltest dir also ein paar Tutorials anschaun (oder aber gleich ein Buch kaufen).
Eine andere Möglichkeit wären Fibers, damit kannst du dir dein eigenes "Multitasking-System" aufbauen! Aber nachdem du selbst gesagt hast, dass du kaum eine Ahnung von Delphi hast vergiss das am besten gleich wieder und halt dich an die Threads.. sind kompliziert genug! :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!