Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
994 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Builder] Access violation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Builder] Access violation

n°694663
FroggyDew
Posté le 07-04-2004 à 14:52:47  profilanswer
 

Bonjour tout le monde,
 
J'ai un gros probleme sous Borland C++ Builder 6 avec mon application que je n'arrive pas a resoudre. J'apprecierais ENORMEMENT toute aide qui pourrait m'aider a avancer.
Mon programme comporte plusieurs unités avec une form et 2 sans. Dans l'une d'elles, quand j'"include" le header d'une des unités avec une form, ca va bien, mais quand l'unité n'en a pas, j'obtiens une erreur du linker qui dit "Access violation, link terminated". Et quand j'essaye de recompiler, j'obtiens "[Linker Error] Could not delete ProjectName.tds (project already open in IDE?)".
 
Quelqu'un aurait-il une idée (quelle qu'elle soit) sur la raison de mon probleme et sur comment y remedier? Merci beaucoup d'avance, je suis au bord de la crise de nerf...
 
A+

mood
Publicité
Posté le 07-04-2004 à 14:52:47  profilanswer
 

n°694674
antp
Super Administrateur
Champion des excuses bidons
Posté le 07-04-2004 à 14:59:39  profilanswer
 

"quand l'unité n'en a pas"
 
quand elle n'a pas quoi ? de header ? tu inclues un header qui n'existe pas ?
 
Sinon pour l'erreur je sais pas trop d'où ça pourrait venir. Soit un bug (ça ne serait pas le seul) soit une version un peu foireuse de C++Builder (genre copie douteuse :D)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°694693
FroggyDew
Posté le 07-04-2004 à 15:17:19  profilanswer
 

Non, ce n'est pas une copie douteuse! (pour une fois)
l'unité dont je parlais n'a pas de form associée car elle me sert juste a la creation de tableaux avec des calculs dessus, l'utilisateur n'appelle pas directement les fonctions de cette unité. Mais j'ai deja inclus cette satanée unité dans d'autres et ca a tres bien marché, je ne vois vraiment pas pourquoi ca ne marche pas avec la nouvelle...
 
Pour l'erreur avec le fichier .tds, c'est vrai que mon ordi s'est planté mechamment recemment avec BCB qui tournait. Ca pourrait etre la cause de tout tu penses?

n°694700
antp
Super Administrateur
Champion des excuses bidons
Posté le 07-04-2004 à 15:22:35  profilanswer
 

Ce que t'appelles "unité", c'est le .cpp ? En général ça ne s'inclue pas, on n'inclue que les .h/.hpp
Pour l'erreur du .tds, bah supprime le fichier, c'est juste un fichier temporaire.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°695321
FroggyDew
Posté le 07-04-2004 à 23:33:18  profilanswer
 

ce que j'appelle unité, c'est la structure .cpp + .h, obtenu dans BCB6 par New->Unit, il n'y a pas de form (.dfm) associée. J'inclus bien-sur le header seulement. Pour une form, New->Form produit un .cpp, un .h et un .dfm.
 
D'un autre coté, il y a pas mal de communication entres mes .cpp, donc je dois inclure presque tous les headers dans chaque .cpp, avec appel de variables exterieures par "extern". Y a t-il une limite a cela?
 
L'ennui avec le .tds est que tant que BCB reste ouvert, je ne peux pas l'effacer ("ce fichier est utilisé par un programme... blah blah blah" ). Je dois donc a chaque fois fermer BCB, effacer le .tds, rouvrir BCB... plutot penible.
 
FroggyDew

n°695335
antp
Super Administrateur
Champion des excuses bidons
Posté le 07-04-2004 à 23:55:05  profilanswer
 

normalement y a pas de limite,
je sais pas d'où pourrait venir ce crash [:spamafote]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°695337
videaste95
je ne sais rien !
Posté le 07-04-2004 à 23:58:09  profilanswer
 

Est-ce que l'inclusion du "header" ne reclamerais pas des ressources qui ne sont pas encore actives. Pour ce problème, dans certains cas il m'a suffit d'inverser l'ordre des "includes" ou même des "Application->CreateForm" dans lunité principale.

n°696117
FroggyDew
Posté le 08-04-2004 à 23:24:55  profilanswer
 

hum hum, j'ai du nouveau, ce n'est pas terrible...
Apres avoir joué avec l'ordre des "includes" et la declaration des forms dans le Winmain, en essayant un "Make", j'ai obtenu instantanément le fameux "Access violation", donc je re-essaye et cette fois j'obtiens une erreur bcb.exe "An exception (C0000005) occured during DllEntryPoint or DllMain in module C:\Program Files\Borland\CBuilder6\Bin\ilink32.dll"
AAAAAaaaaaahhhh!!! Qu'est-ce qu'il se passe???

n°696131
videaste95
je ne sais rien !
Posté le 08-04-2004 à 23:57:51  profilanswer
 

Désolé mais là je n'ai pas idée de ce qui arrive. Mais pour supprimer le .tds, il suffit de lancer "Tout construire", ça efface et recrée tous les fichiers de débogage et de liens.

n°701960
FroggyDew
Posté le 18-04-2004 à 00:15:37  profilanswer
 

OK CA MAAAAARCHE !!!!!!!!
 
Bon, le problème résidait dans le fait d?avoir la declaration de mes variables globales dans mes headers, donc les différentes inclusions des headers des unités faisait que ces variables étaient déclarées plusieurs fois, ce qui perturbait le linker.
 
C?est une erreur que je ne referai plus, j?aurais appris? 2 semaines pour trouver la raison de ce problème? ce que la programmation peut être cruelle parfois?.
 
Merci quand-même pour votre aide, ce forum est génial.
A+

mood
Publicité
Posté le 18-04-2004 à 00:15:37  profilanswer
 

n°1945297
cidirot
Posté le 27-11-2009 à 12:38:23  profilanswer
 

Slt a tous!
J'ai un problème qui me semble proche de celui posé sans ce forum!
 
J'ai crée une classe et lorsque j'appelle une fonction membre de la celle avec comme paramètre un variable de même typt q la classe concernée, j'ai le message d'erreur suivant:
"access violation at 0x00403373:wrtie of adress 0x0006c074"
 
Quelqu'un pourrait t-il m'aider?
RMQ: je bosse sous c++ builder!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Builder] Access violation

 

Sujets relatifs
Desactiver les touches spéciales d'accessPhp et bdd Access distante
Refresh et Access 2000Modifier ou créer une condition sur un report BO à partir d'access
access et vb probeme de case a coher[Debutant] Borland C++ Builder 6 & Quelle Librairie Graphique?
[VB.NET] se connecter à access via VB.NETImporter fichier access sous visual BAsic
Importer un report BO depuis access en VBAACCESS - Modif marges d'un état par VBA
Plus de sujets relatifs à : [Builder] Access violation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR