Invalid variant operation

24/11/2021

0

estou utilizando a procedure, e ja na primeira linha: " hW := App.Application.Hwnd ; "
ocorre o erro "Invalid variant operation".

algm ja passou por isso?
Att;


[xml]
procedure TfrmImportacaoExcel.KillExcel(var App: Variant);
var
ProcID: DWORD;
hProc: THandle;
hW: HWND;
begin
hW := App.Application.Hwnd;
// close with usual methods
App.DisplayAlerts := False;
App.Workbooks.Close;
App.Quit;
App := Unassigned;
// close with WinApi
if not IsWindow(hW) then Exit; // already closed?
GetWindowThreadProcessId(hW, ProcID);
hProc := OpenProcess(PROCESS_TERMINATE, False, ProcID);
TerminateProcess(hProc, 0);
end;
[/xml]
Responder

Post mais votado

24/11/2021

Essa mensagem de erro normalmente ocorre quando você tenta usar uma variant que ainda não instanciada.

Veja um exemplo de como usar a função:

var
  variante: Variant;
begin
  variante := CreateOleObject('Excel.Application'); // intancia a variante
  try
    // seu código para trabalhar com o excel
  finally
    KillExcel(variante);
  end;
end;

Natanael Ferreira

Natanael Ferreira
Responder

Mais Posts

25/11/2021

Gxf

meu amigo, mt obrigado!! me ajudou bastante!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar