RM50Man
Messages postés314Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention20 août 2006
-
30 avril 2005 à 19:24
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDerniè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
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 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.
RM50Man
Messages postés314Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention20 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
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.