Hallo,
ich habe mich erstmals mit zur Laufzeit dynamisch erzeugten Forms beschäftigt. Ziel ist es,, ähnlich wie in Outlook zu arbeiten
Ich habe mit einem Inplace auf einem Panel
http://www.delphipraxis.net/internal...myforminplaced
erste Erfolge erzielt.
Nun möchte ich, z.B. bei einem Download Informationen im Panel ändern, was mit einer Zugriffsverletzung endet.
Ich habe versucht hier im Forum eine für mich als "Anfänger" erklärbare Lösung zu finden, bin aber gescheitert.
Wenn ich die
Unit, welche ich über das Inplacing eingebunden habe autark laufen lasse, also zur Laufzeit erzeugt wird, funktioniert alles, so wie ich es gerne hätte.
Wie muss ich meinen Code anpassen damit die Labels auch in dem zur Laufzeit erzeugten Form geändert werden können.
Für eine verständliche Unterstützung wäre ich dankbar.
Delphi-Quellcode:
TDBUpdate = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
ProgressBar1: TProgressBar;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
procedure MyUploadCallback(lpszLocal, lpszRemote: string; dwBytesTotal, dwBytesDone: DWORD; Elapsed: Single);
implementation
{$R *.dfm}
procedure MyUploadCallback(lpszLocal, lpszRemote: string; dwBytesTotal, dwBytesDone: DWORD; Elapsed: Single);
begin
with DBUpdate do
begin
Label1.Caption := 'Filename: ' + lpszLocal;
Label2.Caption := 'Remotename: ' + lpszRemote;
Label3.Caption := 'Done: ' + Format('%2.n KB/%2.n KB', [dwBytesDone / 1024, dwBytesTotal / 1024]);
Label4.Caption := 'Percent: ' + IntToStr(Integer(Round((dwBytesDone * 100) / dwBytesTotal))) + '%';
ProgressBar1.Max := 100;
ProgressBar1.Position := Integer(Round((dwBytesDone * 100) / dwBytesTotal));
Refresh;
end;
end;
[edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit]