Pregunta

¿Hay alguna manera de inicializar las variables globales BorlandIDeservices en la unidad de herramientas de herramientas para que pueda usarse desde el código Dunit Guitestrunner?

procedure TGUITestRunner.FailureListViewClick(Sender: TObject);
var
  Project: IOTAProject;
begin
  if FailureListView.Selected <> nil then
  begin
    TestTree.Selected := TTreeNode(FailureListView.Selected.data);

    // call OTA
    Project := ToolsAPI.GetActiveProject;
    ShowMessage(Project.ProjectType);

  end;
end;

En este ejemplo, la variable del proyecto será nula porque la variable Borlandideservices no se inicializa. El Guitestrunner se ejecuta desde el modo IDE en el modo de depuración.

¿Fue útil?

Solución

No porque BorlandIDEServices Solo está disponible en el código que realmente se ejecuta dentro (como parte) del IDE en sí. La ejecución del código en aplicaciones externas a través del depurador todavía se está ejecutando externamente; No son parte del IDE, a pesar de que el depurador es, y por lo tanto no tiene acceso al ToolsAPI funcionalidad.

Herramientas como GEXPERTS En realidad, conectarse al IDE y convertirse en parte de él, por lo que pueden acceder ToolsAPI interfaces. Este no es el caso con GUITestRunner; Es una aplicación externa, ya sea que se ejecute bajo el depurador o no.

Otros consejos

La única forma en que puedo imaginar (no lo he probado) requeriría un complemento OTA que se comunique con Guitestrunner sobre alguna comunicación entre procesos.

Por ejemplo, el complemento abre un socket y recibe comandos como 'Abrir archivo' a ALGEESTS.pas 'en el editor' de la aplicación Guitestrunner.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top