AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form als eigener Thread

Ein Thema von day · begonnen am 6. Okt 2004 · letzter Beitrag vom 7. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#1

Form als eigener Thread

  Alt 6. Okt 2004, 23:39
Hallo

Ich habe ein Intro welches den Status der Verbindung zum Server anzeigen soll. Jetzt möchte ich es so machen, dass zuerst das Intro gestartet wird und während dem das Intro läuft soll sich mein Client mit dem Server verbinden. Das Intro habe ich als Form realisiert.
Mein Problem ist jetzt, dass wenn ich das Intro vorher starte es bis zum schluss durch läuft und erst dann wird die verbindung zum Server aufgebaut. Ich müsste also das Form als Thread starten.
Wie mache ich das?
Reicht es, wenn ich die Form zusätzlich noch von TThread ableite. Oder hat jemand eine andere Idee?
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Form als eigener Thread

  Alt 7. Okt 2004, 00:00
Hi, du könntest auch die Verbindung/Abfrage zum Server in einen Thread packen. Zugriffe auf Forms musst du dann mit Synchronize oder Critical Sections absichern.
(Neu -> Thread-Objekt -> Execute-Methode überschreiben)

Zitat:
Reicht es, wenn ich die Form zusätzlich noch von TThread ableite
Wie würdest du das denn machen?
Dani H.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Form als eigener Thread

  Alt 7. Okt 2004, 00:02
Zitat von day:
Reicht es, wenn ich die Form zusätzlich noch von TThread ableite.
Delphi <> C
=> keine Mehrfachvererbung
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Form als eigener Thread

  Alt 7. Okt 2004, 00:15
da kommt mir jetzt die frage auf

kann man einen thread erstellen und der erstellt dann wenn er rennt ein form, zeigt es solange an und aktualisiert ne gauge bis er fertig ist mit was auch immer und bevor er terminiert terminiert er noch das form wo er selber created hat ?

oder kann ein thread garnicht VCL visuelle objekte instanziieren ohne kollisionen mit dem hauptform irgendwie ?!

weil das wäre ja dann fast die lösung
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Form als eigener Thread

  Alt 7. Okt 2004, 00:38
Welchen Sinn soll es überhaupt haben, ein Form in einem seperaten Thread zu erzeugen? Erzähl doch mal, was genau in diesem Intro passiert.
Dani H.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

Re: Form als eigener Thread

  Alt 7. Okt 2004, 00:58
Lager doch einfach das ganze Zeug für die Verbindung zum Server in einen Thread aus und starte dieses noch vor dem Form?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#7

Re: Form als eigener Thread

  Alt 7. Okt 2004, 10:29
Hallo

Das Form zeigt einen kleinen Video, der die Verbinung in ein Netz darstellt. Gleichzeitig leuchtet ein Schriftzug "Connect to server" der bei einem erfolgreichen verbindungsaufbau zu
"connected... " ändern soll.

Ja momentan habe ich es schon so, dass ich zuerst die Verbindung zum Server aufbaue und dan erst das Intro laufen lasse. Aber ich wollte es eben einmal anders probieren.


Zitat:
Lager doch einfach das ganze Zeug für die Verbindung zum Server in einen Thread aus und starte dieses noch vor dem Form
Der komplette Verbindungsaufbau habe ich in einem DataModule (welches von TDataModule abgeleitet ist). Kann daher nicht so einfach einen Thread erzeugen
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#8

Re: Form als eigener Thread

  Alt 7. Okt 2004, 11:18
Zitat von supermuckl:
kann man einen thread erstellen und der erstellt dann wenn er rennt ein form, zeigt es solange an und aktualisiert ne gauge bis er fertig ist mit was auch immer und bevor er terminiert terminiert er noch das form wo er selber created hat ?

oder kann ein thread garnicht VCL visuelle objekte instanziieren ohne kollisionen mit dem hauptform irgendwie ?!
Ob ein VCL-Thread auch visuelle VCL-Komponenten erzeugen kann, weiß ich nicht, die VCL ist verworren genug, da habe ich mich nie mit soetwas auseinandergesetzt.
Aber ein Thread kann auf jeden Fall nonVCL ein Fenster erzeugen und anzeigen.

Aber ich würde trotzdem himitsus Lösung nehmen, normalerweise trennt man nämlich die Arbeit von der Oberfläche, und nicht umgekehrt.
  Mit Zitat antworten Zitat
michael.kaufmann

Registriert seit: 5. Okt 2004
Ort: Liechtenstein
9 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Form als eigener Thread

  Alt 7. Okt 2004, 11:43
einem Thread kann man natürlich jegliche Vcl Componenten generieren und auch ansprechen.
aber wie gesagt, ist es nicht sinnvoll das man das Formular in einen Thread auslagert.
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#10

Re: Form als eigener Thread

  Alt 7. Okt 2004, 11:49
Zitat von michael.kaufmann:
einem Thread kann man natürlich jegliche Vcl Componenten generieren und auch ansprechen.
Naja, so natürlich finde ich das bei der VCL gar nicht. Formulare melden sich ja gerne in der TApplication-Instanz an, da müsste man auf Thread-Safety achten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz