CreateOleObject('Word.Application') jako usługa na jenkinsie nie działa

CreateOleObject('Word.Application') jako usługa na jenkinsie nie działa
woolfik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1616
0

Witajcie,

Trochę zgłupiałem mam prosty kawałek kodu:

Kopiuj
var
  WordApp, Doc: OleVariant;
begin
  WordApp := CreateOleObject('Word.Application');
  if VarIsEmpty(WordApp) then
      WriteLN('WordApp pusty');
  try
//    WordApp.Visible := False;
    if not FileExists(FileName) then
      Writeln('Nie ma pliku');
    Doc := WordApp.Documents.Open(FileName);    
    if VarIsEmpty(Doc) then
      WriteLN('Doc pusty');
...
end;

i gdy uruchamiam go na kompie (konto domenowe jenkis) jako exe ładnie działa. Natomiast jak uruchamiam to z usługi jenkinsowej dostaję cały czas Doc pusty. Macie pomysły? Dostęp do pliku jest pierwsze sprawdzenie (not FileExists) przeszło czyli widzi ten plik z poziomu aplikacji delphi ale z poziomu WordApp.Documents.Open już nie daje rady. Próbowałem z tym visible ale nic nie pomogło ktoś coś?

PD
  • Rejestracja: dni
  • Ostatnio: dni
1

Czy usługa jenkins jest usługą systemową? Jeżeli tak to ten kod nie zadziała, ponieważ Word wymaga dostępu do GUI, a usługi systemowe takiego dostępu nie posiadają. Musisz napisać kawałek aplikacji, który utworzy dokument Word-a (zawartość możesz przekazywać za pomocą parametrów), a w usłudze po prostu wywołujesz tą aplikację z odpowiednimi parametrami.

woolfik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1616
0

Tez tak pomyślałem dlatego to jest zwykły wolnostojący exe, a jenkisn go tylko wywołuje z parametrami niestety dalej nie dziala ale mam inny pomysł dam znać za kilka dni

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.