Turbo Pascal 7.0

RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006 - 30 avril 2005 à 19:24
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 1 mai 2005 à 15:27
Je lance mon prog et g un bug !!!
Je comprends le programme plante et une boite de message s affiche

TurBo Pascal 7.0
Le Processeur NTVDM a rencontré une instruction non autorisée
CS : 0005 IP : 0025 OP : f03705

Si quelqu' un peut m'aider !!!
Merci!!

RM50man

6 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
30 avril 2005 à 20:38
Avec l'adresse du code segment (CS:0005) et un debugger, tu dois pouvoir trouver l'origine de l'erreur.

Mais si tu n'en as pas, cherche dans ton code y'a surement une instruction incompatible ou qui n'est plus autorisée sous un environnement 32-bit comme Windows NT/2000/XP.

Rappel :
Le processus ntvdm.exe (Windows 16-bit Virtual Machine) est un processus de Windows NT/2000/XP qui lui permet d'avoir un environnement 16-bit pour les anciennes applications 16 bits.

Cordialement.
0
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006
30 avril 2005 à 22:06
A oui Merci!!!!
Et avec le programme debug de windows , c un debugger aussi!!!!
Mais comment voir le bug, c'est en hexadecimal!!!

RM50man
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
1 mai 2005 à 00:00
non avec le debugger du turbo pascal ce sera beaucoup mieux.

Cordialement.
0
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006
1 mai 2005 à 13:48
Je passe en parametre a ma procedure un pointeur

procedure ExaminerVoisin(Var Cell,Cellparent ; x, y : integer; diag : boolean);
begin

end;

Pour les parametres je passe
ExaminerVoisin(Cell, CellParent, Cell^.x, Cell^.y, true);
Est ce que ca peut venir de la puisque c depuis que j ai modifié cette
procedure en passant en parametre des pointeurs Cell et Cellparent
que ca bug!!!!!!!!

RM50man
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006
1 mai 2005 à 13:57
Non c est plutot

procedure ExaminerVoisin(Var Cell,Cellparent : Liste ; x, y : integer; diag : boolean);

RM50man
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
1 mai 2005 à 15:27
Si c'est ça ton appel :

ExaminerVoisin(Cell, CellParent, Cell^.x, Cell^.y, true)

je ne comprends pas la nécéssité de passr x et y dans la procedure
ExaminerVoisin(Var Cell,Cellparent ; x, y : integer; diag : boolean);

En effet tu passes uniquement cell et cellparent et diag :

ExaminerVoisin(Var Cell,Cellparent ; diag : boolean);
begin
// utilisation directe de Cell^.x et Cell^.y ;

end ;

Mis à part cette petite remarque, je ne vois pas de problème à cet appel si la variable cell que tu passes à la procedure est bien un pointeur, si ce n'est pas le cas, il faudra remplacer tous les cell^. par cell.

Cordialement.
0
Rejoignez-nous