Invalid variant operation

Delphi

24/11/2021

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]
Gxf

Gxf

Curtidas 0

Melhor post

Natanael Ferreira

Natanael Ferreira

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;
GOSTEI 1

Mais Respostas

Gxf

Gxf

24/11/2021

meu amigo, mt obrigado!! me ajudou bastante!!
GOSTEI 0
POSTAR