Autor Beitrag
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 09.06.07 15:36 
Ich versuche gerade, eine Dateiverschlüsselung mit dem TCipherManager von hier zu implementieren. Funktioniert ganz gut, ist recht simpel etc. Nun wollte ich eine ProgressBar, bzw eine Gauge einbauen, und habe mal geraten, dass dazu die onProgress-Eigenschaft des CipherManagers benutzt werden soll. Mein Versuch sieht so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Procedure TForm1.Progress;
Begin
    Form1.Gauge1.AddProgress(1);
End;

Procedure TForm1.Encode(Source, Dest, password: String);
Var Cipher: TCipherManager;
Begin
    Cipher := TCipherManager.Create(Nil);
    Cipher.InitKey(password, Nil);
    Cipher.Algorithm := 'Blowfish';
    Cipher.OnProgress := Progress;
    Cipher.EncodeFile(Source, Dest);
    Cipher.Free;
End;

Leider funktioniert das nicht: "Inkompatible Typen: 'Liste der Parameter ist unterschiedlich'" sagt er zu der Zeile onProgress := Progress; bei den Schweizern hab ich von Luckie folgenden Versuch gesehen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure MyProgress; 
begin 
  Listview1.Items[x],Subitems[0].Text := y%; 
end; 

function Thread 
begin 
  TCipher.OnProgress := myProgress; 
end;

Wobei ich keinen Zusammenhang kenne, also weiß ich z.B. nicht, was das y% bedeuten soll ;) Aber gut.
Nun gibt's da wohl 2 Fragen: Ist die onProgress-Eigenschaft überhaupt was ich suche, und wenn ja: Wie benutze ich sie korrekt?

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
HeikoDD
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 09.06.07 19:30 
Titel: RE
Das Original:
TProgressEvent = procedure(Sender: TObject; Current, Maximal: Integer) of Object;
"property OnProgress: TProgressEvent read FOnProgress write FOnProgress;"

Der Fake:
Procedure TForm1.Progress;

Ein Blick in die Unit hätte Deine Frage sicher beantwortet.

Dann klappt es auch mit dem Nachbarn.
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 09.06.07 20:04 
Nach dem ich die Unit HCMngr eine halbe Stunde lang durchsucht hatte, hab ich gedacht, ich stelle die Frage lieber hier. Danke für die überaus "freundliche" Antwort.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
HeikoDD
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 09.06.07 20:37 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
unit HCMngr;

interface

uses Classes, DECUtil, Hash, Cipher;

{$I VER.INC}

type
  EManager = class(EDECException)
  protected
    function MakeError(AErrorCode: Integer; const Params: array of const): String; override;
  end;

  TProgressEvent = procedure(Sender: TObject; Current, Maximal: Integer) of Object;


wieso sollte man da freundlichen sein? für die wenigen zeilen brauchte ich keine stunde, nicht mal ne halbe.

Moderiert von user profile iconraziel: B- durch Highlight-Tags ersetzt
Moderiert von user profile iconraziel: Quote- durch Delphi-Tags ersetzt
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 09.06.07 21:51 
Ja ich hab schon verstanden, dass du ein perfekter Mensch bist, und daher niemals eine Zeile übersiehst. Die Unit hat fast 430 Zeilen. Gut, die halbe Stunde war übertrieben, aber nachdem ich die Unit durch hatte, hab ich's aufgegeben, da ich dachte, ich müsse hier sämtliche Units durchgehen.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
HeikoDD
Hält's aus hier
Beiträge: 9



BeitragVerfasst: So 10.06.07 10:28 
du hast recht. 430 zeilen sind wirklich sehr viel.
was sind dann 13.000 in einer (meiner) unit?

lies mal die grundlagen.
dann wüsstest du wo types zu stehen haben und wie man events benützt.
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 10.06.07 16:06 
:motz: Ich hab hier in dem Form über 2000 Beiträge von denen 90,3% On Topic sind, und du behandelst mich wie einen Anfänger, nur weil ich diese blöde Deklaration übersehen habe! Fehlt nur, dass du mir noch den Crashkurs von Christian S. vorschlägst.
Für die Antwort dank ich dir, und da sie durchaus wünschenswerte Qualität hatte, übergehe ich mal deine arrogante Art bis auf weiteres. Aber wenn du mit allen Anfängern auch so umgehst, wirst du es erleben, dass du auch mal einen vergraulst.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.