Bonjour,
Comme le dit l'intitulé du topic, j'ai un soucis de problème mémoire lorsque j'éxecute en commande shell une appli java.
Je vous donne la ligne de commande que je veux qu'on mon programme VB6 éxecute :
>java -jar C:\....\MonJar.jar 1 1 0 0
1 1 0 0 sont les 4 paramètres que je veux faire passer comme arguments dans mon appli java .jar
Il me dit que la mémoire ne peut pas être "read"
Je vous donne ma fonction d'execution :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
<div style="margin-left:40px">Public Function ExecCmd(cmdline As String)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ret As Long
'Dim Fs As New FileSystemObject
' Initialize the STARTUPINFO structure:
' start.cb = Len(start)
' Initialise STARTUPINFO
start.dwFlags = 6 ' STARTF_USESHOWWINDOW
start.wShowWindow = 7 ' SW_SHOWMINNOACTIVE
' Dimensions et position de la feuille Cachée derrière la feuille principale
start.dwX = 0
start.dwY = 0
start.dwXSize = 500
start.dwYSize = 300
start.lpTitle = ""
start.cb = Len(start)
' Start the shelled application:
ret = CreateProcessA(0, cmdline, 0, 0, 1, NORMAL_PRIORITY_CLASS, 0, 0, start, proc)
' Wait for the shelled application to finish:
ret = WaitForSingleObject(proc.hProcess, INFINITE)
Call GetExitCodeProcess(proc.hProcess, ret)
Call CloseHandle(proc.hThread)
Call CloseHandle(proc.hProcess)
ExecCmd = ret
End Function</div> |
Et l'appel de la fonction :
1 2 3 4 5 6 7
| EditionPDFCommand = "java -jar C:\...\MonJar.jar 1 1 1 0"
<div style="margin-left:40px">
exec_return = ExecCmd(EditionsPDFCommande)
If exec_return <> 0 Then
MsgBox "probleme lors de l'édition du PDF fusionné "
End If</div> |
J'imagine que ce doit être un conflit entre le shell et l'appli java... Quand je lance seul l'appli java via MSDOS il n'y a aucun soucis de mémoire, à part quand ceux sont d'énormes fichiers.
Or la j'ai fais exprès de mettre un petit fichier pour pouvoir lancer l'appli java seule...
Merci pour toute aide que vous pourrez m'apporter, j'espère avoir été assez claire.
Partager