| Autor |
Beitrag |
MrFox
      
Beiträge: 208
WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
|
Verfasst: Do 08.09.05 13:00
Hi Leute,
Ist es möglich sehr viele Threads (bis zu 50) gleichzeitig auf ebenfalls bis zu 50 verschiedene Visuelle Objekte die auf dem Formular liegen zuzugreifen. Dabei ist es absolut ausgeschlossen, dass mehrere Threads auf das selbe Objekt zugreifen. Moderiert von Christian S.: Topic aus CLX / Delphi Language (Object-Pascal) verschoben am Do 08.09.2005 um 13:55
_________________ Das Leben auf der Erde mag zwar teuer sein, aber eine jährliche Rundreise um die Sonne ist gratis mit dabei.
|
|
arj
      
Beiträge: 378
Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
|
Verfasst: Do 08.09.05 13:33
Ich denke schon, dass das möglich ist, auch wenn ich den Sinn nicht ganz verstanden habe.
50 Threads? Sind ziemlich viele! Für was brauchst du die denn alle?
|
|
MrFox 
      
Beiträge: 208
WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
|
Verfasst: Fr 09.09.05 09:33
Ich programmiere eine Simulation einer Fallblatt-Anzeigetafel (Wie sie an großen dt. Bahnhöfen zu finden ist).
Dabei bewegen sich natürlich ab und zu auch mal mehrere Anzeigemodule gleichzeitig.
_________________ Das Leben auf der Erde mag zwar teuer sein, aber eine jährliche Rundreise um die Sonne ist gratis mit dabei.
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Fr 09.09.05 09:45
Hallo.
Vorsicht! Steuerelemente dürfen nicht von keinen anderem Thread als dem VCL-Hauptthread angepackt werden.
Ausserdem ist doch eine Aktualisierung von beispielsweise Panels oder Editfeldern hintereinander noch immer quasi gleichzeitig, da kein Mensch den zeitlichen Unterschied erfassen kann.
Cu,
Udontknow
|
|
MrFox 
      
Beiträge: 208
WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
|
Verfasst: Sa 10.09.05 14:44
Nicht wenn es sich um 50 Stück handelt und dessen Größe schrittweise verändert wird. Mein PC (1,4 Ghz) schafft das jedenfalls nicht so schnell das man es als "gleichzeitig" betrachten könnte.
Gibt es überhaupt eine möglichkeit auf der Grafikoberfläche etwas "gleichzeitig" bzw. unabhängig voneinander zu verändern?
_________________ Das Leben auf der Erde mag zwar teuer sein, aber eine jährliche Rundreise um die Sonne ist gratis mit dabei.
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Sa 10.09.05 16:58
Mit der VCL: Nein.
Aber eine Fallblatt-Anzeigetafel-Simulation muß sich doch nicht schrittweise (was immer du damit meinst) aktualisieren, auch wenn das vielleicht lustig aussieht.
Cu,
Udontknow
|
|
MrFox 
      
Beiträge: 208
WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
|
Verfasst: Sa 10.09.05 19:47
Udontknow hat folgendes geschrieben: | | Mit der VCL: Nein. |
Und irgendwie anders? DelphiX? Windows-API?;
Udontknow hat folgendes geschrieben: |
Aber eine Fallblatt-Anzeigetafel-Simulation muß sich doch nicht schrittweise (was immer du damit meinst) aktualisieren, auch wenn das vielleicht lustig aussieht.
|
Weißt du was eine Fallblatt-Anzeigetafel ist?
Wenn ja dann: Das von oben "herunterfallende" Blatt (mit der neuen sichtbaren Aufschrift), welches das vorherige Blatt überdeckt simuliere ich durch ein Label, was ein anderes Label durch schrittweise vergrößerung der Höhe schrittweise (für das menschliche Auge natürlich fließend) überdeckt.
_________________ Das Leben auf der Erde mag zwar teuer sein, aber eine jährliche Rundreise um die Sonne ist gratis mit dabei.
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: So 11.09.05 12:18
Ja, nun. Wie ich schon sagte, der Effekt sieht zwar neckisch aus, ist aber nicht wirklich wichtig für die Programmfunktionalität, also das Anzeigen von einfahrenden Zügen, Verspätungen etc. Was spricht gegen eine schlichte Aktualisierung der Edit-Felder? Oder ist das zwingende Vorgabe?
Wenn es dir darauf ankommt:
Hast du schon versucht,anstelle von Editfeldern schlicht und ergreifend auf eine Bitmap zu zeichnen bzw in einer Paintbox die Zustände darzustellen? Hier sei noch auf "DoubleBuffered" verwiesen. Schliesslich benötigst du Input-Funktionalität ja nun überhaupt nicht.
Ansonsten bekommst du natürlich auch mit DirectX sehr schön solche Fliesseffekte hin, aber ob sich der Aufwand lohnt, sei dahingestellt.
Cu,
Udontknow
|
|
MrFox 
      
Beiträge: 208
WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
|
Verfasst: Mo 12.09.05 08:31
Werds gleich mal versuchen.
_________________ Das Leben auf der Erde mag zwar teuer sein, aber eine jährliche Rundreise um die Sonne ist gratis mit dabei.
|
|