| Autor |
Beitrag |
HenryHux
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: Mi 17.11.10 14:29
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
Zuletzt bearbeitet von HenryHux am Do 18.11.10 15:35, insgesamt 1-mal bearbeitet
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: 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.
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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?
_________________ We are, we were and will not be.
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mi 17.11.10 15:30
wenn es immer das gleiche ist, dann nicht. Dann erstellst du einmal ein Threadobjekt, welches du dann immer instanzierst und fertig. Vielleicht solltest du dir mal ein Tutorial dazu durchlesen.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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. 
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: 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.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: 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.
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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. 
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Do 18.11.10 08:20
Außerdem würde es sich empfehlen, an dieser Stelle einmal auf ein Tutorial zu OOP hinzuweisen, oder auf das, was diese meist verschweigen
Grundlegend bräuchten wir aber erstmal ein wenig Source oder anderweitig detailliertere Informationen zum Vorhaben, weil leider macht meine Kristallkugel - genauso wie ich auch - derzeit Urlaub, leider aber in nem anderen Erdteil.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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 
|
|
|