AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DreamCatcher
Thema durchsuchen
Ansicht
Themen-Optionen

DreamCatcher

Ein Thema von CalganX · begonnen am 19. Jun 2003 · letzter Beitrag vom 5. Aug 2003
 
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#26
  Alt 29. Jun 2003, 15:53
zu den threads:

ich hatte das problem bei meinem "AlphaCode Crypter" auch. Ich hab es folgendermaßen gelöst:

Deklaration des Threads
Delphi-Quellcode:
type
  TCryptThread = class(TThread)
  private
    Mode: Boolean;
    OverwriteFiles: Boolean;
    Source, Target: String;
    P1,P2: String;
  protected
    procedure Execute; override;
  public
    constructor Create(bMode, bOverwriteFiles: Boolean; strSource, strTarget, PW1, PW2: String);
end;
Implementierung
Delphi-Quellcode:
///////////////////

constructor TCryptThread.Create(bMode, bOverwriteFiles: Boolean; strSource, strTarget, PW1, PW2: String);
begin
  Mode := bMode;
  OverwriteFiles := bOverwriteFiles;
  Source := strSource;
  Target := strTarget;
  P1 := PW1;
  P2 := PW2;
  FreeOnTerminate := True;
  inherited Create(False);
end;

procedure TCryptThread.Execute;
begin
// Hier kommt der Code des Ver- und Entschlüsselns hin!
end;
Aufruf des Threads:
Delphi-Quellcode:
var
  CryptThread: TCryptThread
// .....
  CryptThread := TCryptThread.Create(rbEnCrypt.Checked,cbOverwriteTarget.Checked,edSource.Text,edTarget.Text,P1,P2);
  CryptThread.OnTerminate := ThreadDone;
Prozedur ThreadDone
Delphi-Quellcode:
procedure TfrmMain.ThreadDone(Sender: Tobject);
begin
  // Die ganzen Buttons wiede Enablen ;-)
end;
Thread Abbrechen
Delphi-Quellcode:
    TerminateThread(CryptThread.Handle,0);
    if Application.MessageBox('Der Vorgang wurde abgebrochen! Möchten Sie die unvollständige Zieldatei löschen?','Warnung',48+4) = IDYES then
    DeleteFile(edTarget.Text);
    ThreadDone(Sender);
    Exit;
Ich verwende TerminateThread, da mir auch net der Source der DCU vorliegt und die ganze Prozedur bei der Methode "Encrypt" sozugagen "anhält" und solange reagiert das Programm halt net.

ich hoffe, das hilft dir!

Super Programm übrigens

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
 


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 14:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz