Vous n'êtes pas identifié.
pê ke tu ne vas pas voir le topic de bomber sur le forum news g100, mais g une question: En fait les add-ons de bomber marchent très bien mais uniquement avec ton explo, et pas avec sysxpl4!!!
Que fais-tu de particulier à l'exécution? Restauration de registres? Il faut que tu me le dises stp sinon ça causera plein d'incompatibilités, et tt le monde n'a pas envoe de changer d'explo ke pr un jeu!
Hors ligne
c'est une histoire de lecteur.
*-------------
quand j'exec un prog c'est de la forme suivante :
<lect>:<nomprog>.<ext> <args>
g creer une fonction exec("ligne de commande");
ou je prend lea première lettre et ...
exec(*patch)
{
setdisk(patch[0]-0x41);
...
}
*------------
dans le prog en cour d'execution
y doit y avoir main(Argc,**Args) un truc comme ça
ensuite : setdisk(ARGS[0]-0x41);
dans le prog et ça devrait marcher
Hors ligne
est-ce que ça marche depuis dirxplor ?
peut-être que y'a un bug avec le premier parametre que tu prends
tu peut savoir dans kel lecteur se trouve ton exe par la premiere lettre de ton premier argument de ton programme (*arg[0])
pourtant, il arrive a lancer touche qui lui a besoin de cet argument correct
esaie d'executer ac dirxplor et a marche pas, file ton code pour voir comment tu t'y prends
Hors ligne
Wait...
Hors ligne
moi aussi chuis curieux d savoir comment tu a fait, job !
ps : g essayé setdisk(0); suivi de execv("COMMAND.COM"); et ca marche pooooooooooooooo !!! comprend pas car avant ca marchait(a l' époque de X-win, l' ancienne version de TCX !!)!
Hors ligne
exec(char *pathp) { char command[128]; char *args[128]; int i; int numberofargs=0; int execres; int a=0; int cline_size; cline_size=strlen(pathp); if (cline_size > 128) return; delgrayhard(); outportb(0x02,0xC3); show_bmp(loading); for (i=0; i <= cline_size; i++) { if (pathp[i]!=(char)32) { if (a==0) args[numberofargs]=&command[i]; command[i]=pathp[i]; a++; } else if (a > 0 && args[numberofargs][a - 1]!=(char)32) { command[i]=' '; numberofargs++; a=0; } } args[numberofargs + 1]=NULL; execres=execv(args[0], args); setgrayhard(); clearscreen(SEG1); gICON(1,1,14); gSTXT(3,1,"Erreur :",1,1); sprintf(patch,"N %2u",errno); gSTXT(3,2,patch,1,0); gSTXT(1,3,strerror(errno),1,1); bioskey(0); delgrayhard(); exit(0); }
Hors ligne
g oublier de mettre :
setdisk(pathp[0]-0x41)
car chez moi je l'ai mis autrepart
le chemin doit être de la forme suivante :
<lecteur>:<nom+ext>
sinon ça marche pas !
Hors ligne
heu, c la fonction de 2072 modifiée
Hors ligne
oui en effet tu pourrais le préciser JoB.
Le setdisk ne sert à rien puisque tu précise le nom du lecteur dans le chemin...
Hors ligne
je vais essayer de ne plus oublier les préssision.
c kan même utile setdisk();
car on exec le prog la g100 copy le prog en memoire mais qui ne dit pas quel restore la zone mappé
vau mieux laisser setdisk par securité
Hors ligne