Autor Beitrag
Robert555
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 20.03.03 13:53 
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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: 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:

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!