Autor Beitrag
MrFox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 208

WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
BeitragVerfasst: 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 user profile iconChristian 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
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
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 208

WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 208

WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 208

WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
BeitragVerfasst: Sa 10.09.05 19:47 
user profile iconUdontknow hat folgendes geschrieben:
Mit der VCL: Nein.

Und irgendwie anders? DelphiX? Windows-API?;

user profile iconUdontknow 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 208

WIN 2000 Professional, Ubuntu 5.10
D3 Prof, D7 Pers, D2005 Pers, Java (Eclipse)
BeitragVerfasst: 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.