Arsip: shell execute and wait utk openofffice tidak jalan ?

 
user image
more 17 years ago

difar

Dear delphier... saya ada kesulitan di delphi. Gimana cara nya eksekusi openoffice(calc) dan menunggu sampai selesai, baru kemudian menjalankan syntax program yg lain. saya sudah coba menggunakan "waitforsingleobject" , tetapi utk openoffice function ini tidak jalan. Ada yang bisa kasih pencerahan ? . Thank's b4..... salam dip2
user image
more 17 years ago

danieljun

sudah pernah dijawab oleh cyber_hecker, 2 tahun yang lalu disini: http://pascal-id.org/dpr/PNphpBB2-viewtopic-t-1029-highlight-waitforsingleobject.pas coba cari function WinExecAndWait gue copy biar gampang

{ fungsi ini adalah untuk menjalankan program eksternal / pengganti procedure WinExec,
  kelebihannya adalah ada fungsi wait. jadi sebelum proses selesai program tidak
  akan menjalankan perintah pada baris berikutnya ..............................}
function WinExecAndWait(const Path:  pCHAR;
                        const Visibility:  WORD;
                        const Wait:  BOOLEAN):  BOOLEAN;
  var
    ProcessInformation:  TProcessInformation;
    StartupInfo       :  TStartupInfo;
begin
  FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
  with StartupInfo do begin
    cb          := SizeOf(TStartupInfo);
    lpReserved  := NIL;
    lpDesktop   := NIL;
    lpTitle     := NIL;
    dwFlags     := STARTF_USESHOWWINDOW;
    wShowWindow := Visibility;
    cbReserved2 := 0;
    lpReserved2 := NIL
  end;
 
  RESULT := CreateProcess(NIL,       {address of module name}
                          Path,      {address of command line}
                          NIL,       {address of process security attributes}
                          NIL,       {address of thread security attributes}
                          FALSE,     {new process inherits handle}
                          NORMAL_PRIORITY_CLASS,   {creation flags}
                          NIL,       {address of new environment block}
                          NIL,       {address of current directory name}
                          StartupInfo,
                          ProcessInformation);
  if RESULT then begin
    with ProcessInformation do begin
      if Wait then WaitForSingleObject(hProcess, INFINITE);
      CloseHandle(hThread);
      CloseHandle(hProcess)
    end
  end
end;
user image
more 17 years ago

difar

thank's reply nya.... tapi function diatas udah saya coba sblm nanya ke forum ini, dan untuk aplikasi yang dibuat dengan java ( openoffice , freemind ,...dll) function ini tidak bisa menunggu, jadi hanya execute dan langsung menjalankan program sesudahnya.... gimana ya solusi nya ? thanks dip2
user image
more 17 years ago

_lmz

@difar: thank's reply nya.... tapi function diatas udah saya coba sblm nanya ke forum ini, dan untuk aplikasi yang dibuat dengan java ( openoffice , freemind ,...dll) function ini tidak bisa menunggu, jadi hanya execute dan langsung menjalankan program sesudahnya.... gimana ya solusi nya ? thanks dip2
Yang OpenOffice saya coba: ternyata executable masing-masing misal scalc.exe bukanlah program utama melainkan menjalankan soffice.exe dengan parameter -calc (dapat dilihat dengan process explorer). Di sisi lain launcher untuk program java kebanyakan hanya menampilkan splash screen sementara di belakang layar menjalankan javaw.exe dengan parameter-parameter yang sesuai. Jadi: untuk openoffice ya jalankan saja soffice.exe dengan parameter yang sesuai. Untuk java jalankan saja javaw.exe dengan parameter yang sesuai (mencari parameter yang sesuai ini mungkin agak susah, terutama apabila masalahnya tidak hanya nama class tetapi juga CLASSPATH).
more ...
  • Pages:
  • 1
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com