Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Das gleiche Programm mehrmals in sich selbst ausführen
HenryHux - Mi 17.11.10 14:29
Titel: Das gleiche Programm mehrmals in sich selbst ausführen
Hi, war schwierig das in eine passende Überschrift zu packen.
Ich habe ein Programm, welches ich mehr mals geöffnet brauche.
Aber anstatt das x mal aufzumachen, wäre es aber besser es x mal in ein Projekt zu packen.
Könnte ich mit verschiedenen Formen realisieren, das wäre ja soweit kein Problem.
Vorher wollte ich aber mal fragen wie das mit der Performance läuft.
Das Programm arbeitet mit repeat-Schleifen. Ich denke man kann 2 solche Schleifen nicht gleichzeitig in einer Form laufen lassen, deshalb auch zwingend mehrere Formen.
Kann man denn verschiedene Formen wie verschiedene Programme behandeln lassen?
Sprich ich habe x Formen und in jedem läuft eine Repeat-Schleife ohne großen Rechen-verlust?
Lg
Henry
platzwart - Mi 17.11.10 14:32
Nein. Formen haben damit rein garnichts zu tun! Das ist nur eine graphische Oberfläche, sonst garnix. Was du suchst, sind Threads. Das sind umgangssprachlich ausgedrückt "Programmteile", die unabhängig vom restlichen Programm laufen. Such mal nach Threads.
Gausi - Mi 17.11.10 14:32
Auch wenn du mehrere Formen hast, kann darin immer nur eine Repeat-Schleife gleichzeitig laufen. Alle Fenster einer Delphi-Anwendung laufen im selben Thread, und der kann immer nur eine Sache gleichzeitig machen. Du müsstest mit mehreren Threads arbeiten, oder die Anwendung wirklich mehrfach starten.
Wie der "Rechenverlust" aussieht, hängt von dem Problem ab und davon, wie es genau realisiert wird. Was hast du denn vor?
HenryHux - Mi 17.11.10 15:07
Das Programm ist für Bilderverarbeitung eig viele verschiedene Dinge.
Zumindest isses nen langer Quelltext, den ich natürlich viel veränder und deswegen bin ich bis jetzt davon zurückgeschreckt Threads zu benutzen, denn dafür müsste ich das X-Mal kopieren oder?
Wäre natürlich nen hoher Wartungsaufwand.
Lg
Henry
HenryHux - Mi 17.11.10 15:34
Hab mir das schonmal durchgelesen, aber ich bräuchte ja sagen wir 3-4 verschiedene Grafische Oberflächen.
Sollen zwar alle gleich sein aber die Variablen und anderen Ressourcen sollen nur für den jeweiligen Thread gelten und dabei am besten die gleichen Namen behalten.
Da werde ich wahrscheinlich nicht um 3-4 verschiedene Formen mit jeweils einem Thread herumkommen, oder?
jaenicke - Mi 17.11.10 15:44
Ein Thread kann nicht direkt visuelle Komponenten ansprechen. Mittels Synchronisation schon, aber dann muss auch immer zum Hauptthread geschaltet werden dafür.
Wahrscheinlich solltest du besser dein Konzept überdenken, wenn möglich. Wir können dazu mit den vorliegenden Infos nix sagen. :nixweiss:
Bergmann89 - Mi 17.11.10 15:45
Hey,
wenn die Formen identisch sind, dann kannst du auch einfach mehrere Form-Objekte erstellen. Das is ja auch bloß ne Klasse.
MfG Bergmann.
platzwart - Mi 17.11.10 17:21
Das, was du vorhast, schreit geradezu nach Threads, genau dafür sind die doch gedacht?!? Lies dich ein wenig in Threads ein, dann wirst du das sicherlich sauber hinbekommen.
jaenicke - Mi 17.11.10 18:10
platzwart hat folgendes geschrieben : |
| Das, was du vorhast, schreit geradezu nach Threads, genau dafür sind die doch gedacht?!? |
Nicht für die Ansteuerung visueller Komponenten. Je nach Aufgabenstellung kann es genau eher ungünstig sein, wenn da mehrere Threads laufen. Denn wenn alle Millisekunde der Thread synchronisiert wird, bringt der auch nix.
Aber ohne zu wissen was da eigentlich passieren soll, können wir auch nix dazu sagen. :nixweiss:
HenryHux - Do 18.11.10 15:35
So, das geht in meinem Programm nicht habe ich gerade herausgefunden, Threads sinnvoll einzusetzen.
Danke trotzdem, der Link von BenBE ist gut um ein bisschen mehr über OOP zu lernen.
Danke =)
Lg
Henry
PS: Hundertster Post :D
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!