Hola Nelson.
Te adjunto el código completo del Form8
Código Delphi
[-]uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, JfLabel, JfButtons, ExtCtrls;
type
TForm8 = class(TForm)
btoIniciar: TJfBitBtn;
btoParar: TJfBitBtn;
lbl1: TLabel;
procedure btoIniciarClick(Sender: TObject);
procedure btoPararClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
TReloj = class(TThread)
private
Hora: Integer;
Salir: Boolean;
procedure ActualizaTexto;
protected
procedure Execute; override;
procedure Terminar;
end;
var
Form8: TForm8;
Reloj: TReloj;
Corriendo: Boolean;
implementation
{$R *.dfm}
procedure TReloj.ActualizaTexto;
begin
Form8.lbl1.Caption:=IntToStr(Hora);
end;
procedure TReloj.Execute;
begin
Salir := False;
Hora := 0;
while not Salir do begin
Synchronize(ActualizaTexto);
sleep(1000);
inc(Hora);
end;
end;
procedure TReloj.Terminar;
begin
Salir := true;
end;
procedure TForm8.btoIniciarClick(Sender: TObject);
begin
if not Corriendo then begin
Reloj := TReloj.Create(False);
Corriendo := true;
end;
end;
procedure TForm8.btoPararClick(Sender: TObject);
begin
if Corriendo then begin
Reloj.Terminar;
Reloj.Free;
Corriendo := False;
end;
end;
procedure TForm8.FormCreate(Sender: TObject);
begin
Corriendo := False;
end;
end.
Este programa que no es mas que un contador, funciona perfectamente.
Pero si lo arranco desde otro programa con:
Código Delphi
[-]
with TForm8.Create(self) do begin
ShowModal;
Free;
end;
entonces me da el error.
Saludos