IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Probleme violation accés : Langage mixe VBA - Fortran


Sujet :

Fortran

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Cadre
    Inscrit en
    Janvier 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Probleme violation accés : Langage mixe VBA - Fortran
    Bonjour chers developpeur.
    Voici mon 1er post su ce forum.
    N'étant pas developpeur mais faisant de la programmation scientifique, je suis confronté à des problèmes qui me dépassent.

    Voici mon souci qui fait l'objet de cette discussion:


    J'ai compilé une DLL contenant des routines en fortran ( compilateur: Intel(R) Visual Fortran Composer XE 2013 Update 3 Integration for Microsoft Visual Studio* 2010)
    Le programe appelant cette DLL est Excel (code VBA)

    Cette DLL a dans un 1er temps été compilé en 32bit car appelé depuis office excel 32bit ==> Aucun probleme, tt fonctionne parfaitement

    Je dois maintenant compilé la DLL en 64bit pour pouvoir l'appeler depuis excel 64bit et cette fois ci j'ai des soucis.
    La compilation et la cobnstruction de la DLL s'effectue correctement. En revanche lorsque je lance mon programme appellant (Excel), une erreur se produit à un certain endroit du code Fortran de la DLL. Voici le message d'erreur:


    "Unhandled exception at 0x000007fed8c72350 (NomDeLaDll.dll) in EXCEL.EXE: 0xC0000005: Access violation writing location 0x000000005a4c2080."


    N'étant pas informaticien je ne comprend pas comment resoudre le probleme. J'imagine que c'est un probleme de partage de memoire entre fortran et VBA. Pourquoi ai je cette erreur en 64bit alors que tt fonctionne parfaitement en 32bit


    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    « N'étant pas developpeur mais faisant de la programmation scientifique ... » C'est le dénominateur commun des programmeurs Fortran.

    Un « Access violation », ça dit que tu essaies d'accéder à la mémoire en dehors de ce qui appartient à ton programme (ta DLL). Il y a ensuite « writing », on peut donc penser que c'est une variable à gauche d'un =.

    Ce type d'erreur est souvent provoqué par un mauvais passage de paramètre entre les routines ou fonctions. La première étape consiste à activer tous les contrôles de débogage.

    Le fait que tout fonctionnait en 32 bits ne veut pas dire grand chose : Une organisation différente de la mémoire pouvait très bien rendre l'erreur non fatale, bien que l'erreur ait déjà été là. Par exemple, si V est déclaré pour des élements 1 à 100 et que tu tentes d'accéder à l'élément 0, le problème ne sera pas fatal s'il y a une variable à gauche sur laquelle tu empiètes. Mais si V est la première variable de la mémoire, l'accès à 0 provoquera un access violation. En passant de 32 bits à 64 bits, il y a probablement réorganisation de la mémoire.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Cadre
    Inscrit en
    Janvier 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci d'avoir pris le temps de répondre. J'ai trouvé la ligne où a lieu l'erreur mais n'arrive pas encore à comprendre comment résoudre l'erreur. Il faut encore que j'y regarde
    Bien à vous

Discussions similaires

  1. [Mixed language Fortran/VBA Excel] Tableaux
    Par Benjijmin dans le forum Fortran
    Réponses: 2
    Dernier message: 02/12/2008, 12h18
  2. ouverture d'une appli Builder Probleme violation d'acces
    Par jamescook dans le forum C++Builder
    Réponses: 0
    Dernier message: 07/01/2008, 09h39
  3. {VBA Excel}Probleme l'acces des dossiers
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/06/2007, 09h48
  4. probleme d'acces a une machine sur un réseau
    Par zorian dans le forum Développement
    Réponses: 3
    Dernier message: 09/06/2004, 13h04
  5. Probleme d'acces a show table status
    Par arcane dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/11/2003, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo