Delphi7
idFTP component
---------
Ik kom er echt niet meer uit. Al verschillende dingen opgezocht over threads, al veel uitgeprobeerd maar het werkt gewoon niet
Ik weet dat de code onder Execute (van thread) wordt uitgevoert, getest met een showmessage. Maar toch wordt mijn file niet ge-upload en ik weet niet waarom.
Klopt het dat je geen error messages krijgt van fouten binnen een thread?
Hoe krijg ik trouwens mijn debug scherm terug onder de code ?
Wie weet wat ik hier fout doe?
heb het effe online gezet:
Download
idFTP component
---------
Ik kom er echt niet meer uit. Al verschillende dingen opgezocht over threads, al veel uitgeprobeerd maar het werkt gewoon niet
Ik weet dat de code onder Execute (van thread) wordt uitgevoert, getest met een showmessage. Maar toch wordt mijn file niet ge-upload en ik weet niet waarom.
Klopt het dat je geen error messages krijgt van fouten binnen een thread?
Hoe krijg ik trouwens mijn debug scherm terug onder de code ?
Wie weet wat ik hier fout doe?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
| unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, thread;
type
TForm1 = class(TForm)
//IdFTP1: TIdFTP; hoort hier toch niet?
UploadButton: TButton;
Label1: TLabel;
procedure UploadButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
UploadFile = class(TThread)
//hier wel toch? Moet toch alleen binnen
//de thread?
IdFTP1: TIdFTP;
private
{ Private declarations }
protected
procedure Execute; override;
procedure Bericht;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.UploadButtonClick(Sender: TObject);
Var
MyThread: UploadFile;
begin
MyThread := UploadFile.Create( True );
With MyThread do
Begin
FreeOnTerminate := True;
Resume;
end;
end;
// berichtje om te controleren of Execute wordt uitgevoert
procedure UploadFile.Bericht;
begin
ShowMessage('thread started');
end;
procedure UploadFile.Execute;
begin
//Bericht wordt getoond
Synchronize(Bericht);
// onderstaande code schijnt niks te doen
// inloggen
IdFTP1.Host := '***';
IdFTP1.Name := '***';
IdFTP1.Password := '***';
idFTP1.Connect();
// effe changen naar mijn test dir.
IdFTP1.ChangeDir('apptest');
// en de file uploaden
randomize;
idFTP1.Put('c:\testfile.bin','test'+inttostr(random(1000)));
idFTP1.Quit;
end;
end. |
heb het effe online gezet:
Download
[ Voor 9% gewijzigd door Rambo op 16-02-2004 02:29 ]