GARANTIR DESCONTO

Fórum Ajuda comThread #351480

07/01/2008

0

Olá!!
Estou tendo problemas com uma Thread !!
Sempre que chamo uma procedure da um erro!
ai tentei fazer o processamento direto na thread da o mesmo erro!!
Minha Unit:
unit UthreadPrepara;

interface

uses
  Classes,SysUtils,ComObj,ExcelXP, Dialogs;

type
  ThreadPrepara = class(TThread)
  private
    { Private declarations }

  public
  Excel : Variant;
  procedure preparafile;

  protected
    procedure Execute; override;
  end;

implementation

uses Umain;



{ ThreadPrepara }

procedure ThreadPrepara.Execute;
begin
   if Terminated then
  begin
   exit;
  end;
 preparafile;
end;


procedure ThreadPrepara.preparafile;
var
De,Ate : String;
FileXLS : String;
begin
  { Place thread code here }

  try

  Form1.OpenXLS.Execute;

  Excel := CreateOleObject(´Excel.Application´);//o erro para aqui
  FileXLS := Form1.OpenXLS.FileName;
  Excel.WorkBooks.open(FileXLS);
  Excel.Visible := True;
  De := ´A1´;
  Ate := StringReplace(Excel.ActiveCell.SpecialCells(xlLastCell).Address,´$´,´´,[rfReplaceAll]);
  Excel.Range[´A1´].Select;
  Excel.Range[De,Ate].Name := ´Import´;
  Excel.Range[´Import´].NumberFormat := ´@´;
  Excel.ActiveWorkBook.Save;
  Excel.Quit;
except
  Excel.Quit;
  ShowMessage(´houve erro!!´);
  end;
end;

end.

A tela do erro é essa:
[img:0b934fc6e4]http://i45.photobucket.com/albums/f57/logam/imgerrothread.png[/img:0b934fc6e4]

Se eu chamar esse código em um botão ele funciona perfeitamente!!
Mas se eu tentar usar um thread para executar esse código da o erro da imagem a cima!!
Alguém pode me ajudar?


Logam

Logam

Responder

Posts

09/01/2008

Logam

Poxa sera que ninguem tem alguma ideia pra me ajudar??


Responder

Gostei + 0

15/01/2008

Logam

[b:e1cda0abc1]Consegui achar o problema, e resolvi!![/b:e1cda0abc1]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar