Ver Mensaje Individual
  #4  
Antiguo 26-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
Cita:
Empezado por Elenita
La unidad "ComObj" está en la cláusula uses y no tengo errores de compilación, al ejecutar me da el error "Invalid Variant operation"

He trabajado con WORD y EXCEL a través de OLE, pero nunca con WordPerfect y no sé si dará más problemas o hay que tratarlo de otra forma..

Muchas gracias.
Por lo que sé, ese error te lo muestra porque el objeto OLE no se está creando y la variable "objWordPerfect" contiene información inválida. (Según las pruebas que he hecho, si el objeto OLE no existiera, en el sistema, el error sería "Cadena clase no válida" y si un método no existe para tal objeto, entonces, el error sería "Método '<NombreMetodo>' no soportado...").

Prueba lo siguiente:

Código Delphi [-]
procedure VerWPD(Archivo: string);
var
  objWordPerfect : Variant;
begin
  objWordPerfect := Null;
 
  try
    objWordPerfect:= CreateOleObject('WordPerfect.PerfectScript');
    objWordPerfect.AppMaximize;
    objWordPerfect.FileOpen(Archivo);
  finally
    if not VarIsNull(objWordPerfect) then
    begin
      objWordPerfect.Quit;
      objWordPerfect.free;
    end
    else ShowMessage('Falló la creación del objeto');
  end;
end;

Si te aparece el mensaje "Falló la creación del objeto" es que, lógicamente, el objeto "WordPerfect.PerfectScript" no se te está creando. Si esto es así, entonces, o es por un problema con el mismo "WordPerfect" (puede que no se instalara bien el objeto necesario para la automatización, que falten componentes por instalar, o que la aplicación no se instaló bien) o, si no, que no existe tal objeto "WordPerfect.PerfectScript" y sea otro el que se utilice para la automatización (aqui tendrías que mirar la ayuda de "WordPerfect").

Siento no poder ayudarte mas!, pero es que los objetos de automatización dependen más de la aplicación en sí (el código, en principio, parece correcto), por lo que tendrás que mirar la ayuda del mismo "WordPerfect" para ver como manipularlo.

Chao!
Responder Con Cita