-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
18. Sep 2004
Update:
Ich kann die Zugriffsverletzung nun klar festlegen:
Ich lass in dem Thread der Variable "HASH", welche sich auf dem Formular "frmCheck" befindet, die ermittelte MD5-Hash übergeben. Beim Schreiben in diese Variable, steigt er aus.
Dies ist mir jedoch unerklärlich, da ich mit der Variable zur Zeit weiter nichts mache - es sollte also kein Zugriff von anderen Forms auf die Variable...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
18. Sep 2004
ARGHS!
Das war wohl doch zu Vorschnell. In meinem Test-Projekt hat's soweit geklappt.
Dort habe ich eben eine globale Variable im Wert verändert sowie Objekte des Formulars sichtbar/unsichtbar gemacht.
In dem richtigen Projekt, bekomme ich nun Zugriffsverletzungen. Dabei habe ich deinen Code 1:1 reinkopiert.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
18. Sep 2004
Hallo,
vielen Dank!!!
Nach etwas herumspielen mit deinem Code-Beispiel konnte ich es 1:1 auf mein Projekt übertragen und habe es sogar verstanden (hoffe ich zumindest *G*). Jedenfalls macht das, was das Programm macht, Sinn ;-)
Danke noch einmal!
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
18. Sep 2004
Form startet Timer.
Timer ruft CheckAll auf.
Check all ruft alle Sub-Routinen auf - u.a. die des Threads.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
18. Sep 2004
Ja, per Timer.
User klick auf frmMain einen Button und frmCheck wird erstellt. Im FormCreate Ereignis wird der Timer auf Enabled gesetzt. Im OnTimer Ereignis wird zu erst der Timer deaktiviert und dann eine andere Prozedur ausgeführt und schließlich die Prozedur aufgerufen, die den Thread starten soll.
Also wird der Timer VOR der Ausführung des Threads deaktiviert.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
17. Sep 2004
Guten Abend,
Danke für die Antworten. Noch komme ich aber nicht weiter.
Ich habe nun folgendes gemacht:
Das Hauptformular erstellt ein "frmCheck". Das Fenster bekommt "ShowModal" Status und nach 1sek werden die Prozeduren abgearbeitet. Unter anderem rufe ich folgendes auf:
mCheck_Thread.TMyThread.Create(false);("mCheck_Thread" ist die PAS-Datei, die den "Thread-Code" enthält (erstellt...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
17. Sep 2004
Eine Frage zu "Synchronize":
Ich verstehe nicht ganz wann ich es aufrufen muss. Delphi sagt: Nur daraus würde ich schließen, dass wenn ich z.B. den Wert einer Variable im Mainform aktualisieren mmöchte, ich im Mainform eine Procedure schreiben müsste, welche ich im Thread per "Synchronize(Form1.Prozedurname);" aufrufen würde - das kann ich nicht ganz glauben.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
17. Sep 2004
Mir geht's um folgendes:
Wenn ich die HASH-Summe erstellen lasse, reagiert das Programm in der Zeit nicht. Daher will ich einen zusätzlichen "Prozess" (=Thread) starten, der dies macht.
Die Formulierung "deaktivieren" habe ich genutzt, weil ich nicht will, dass während der Thread, welche die HASH-Summe erstellt aktiv ist, der User das Programm munter weiter bedienen kann...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
17. Sep 2004
Ich blicke es nicht :/
Das PDF als solches ist verständlich. Jedoch hilft es mir nicht weiter. Ich weiß eben nicht, wie ich nun hingehe und einen Thread aufrufe, der eine Funktion/Prozedur abarbeitet.
Ich will eigentlich nur folgendes:
Durch eine Aktion auf dem Hauptformular (z.B. Button-Click), soll eine Prozedur in einem eigenen Thread ausgeführt werden (nur als Info: die auszuführende...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
26. Aug 2004
Hallo,
dachte der Titel des Themas würde das klar machen:
Wenn der User auf einen Button klickt, wird eine Prozedur ausgeführt. Diese Prozedur benötigt viel Zeit. Während des Vorgangs, reagiert aber die Hauptanwendung nicht mehr. Daher will ich diese Prozedur in einem extra Thread ausführen.
Quasi:
User klickt Button -> Thread "DoProcess" erstellen -> Thread Auzführen (hier wird die...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by Whistler,
26. Aug 2004
Hallo,
ich würde gerne eine Prozedur als Thread ausführen, damit die Anwendung selbst weiterhin reagiert.
Habe mir bereits das Tutorial von Luckie angeschaut, jedoch hilft es mir auch nicht viel weiter.