LFEMEDM
Messages postés5Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention18 septembre 2008
-
30 juil. 2008 à 23:24
cs_A20
Messages postés2Date d'inscriptionmardi 6 janvier 2009StatutMembreDernière intervention24 août 2010
-
23 août 2010 à 18:37
Bonne nuit à tous les membres CodeS-SourceS<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>
(1) Je n’arrive pas à lire une *.dll construite avec le Compaq Visual Fortran Professional Edition for Win32x86 Systems Version 6.6A quand j’utilise le Microsoft Visual Basic 6.0.
(2) J’ai suivit toutes les notes de l’Help du Compaq Visual Fortran sur le sujet comme par exemple l’aide «Visual Basic with Visual Fortran DLL» et l’exemple qui l’accompagne.
(3) Quand j’actionne l’exécutable du VB il apparaît un message disant
Run-time error ‘53’, File not found : e:\myprojects\fcall\debug\fcall.dll.
(4) Après diverse tentative pour comprendre comment faire pour dépassé l’erreur ‘53’ j’ai alors suivis l’aide
«Visual Basic Debugging Consideratio
ns» qui dit le suivant:
Visual Basic Error 53
: File not found: yy.dll
If you get the error message "File not found: yy.dll" when you run the Visual Basic application, check the following:
If you built the DLL on one system and copied it to another, did you also copy the Fortran run-time DLLs?
These files are DFORRT.DLL, DFORMD.DLL, and MSVCRT.DLL on the Visual Fortran CD-ROM. They can be freely distributed with your application (see Compaq Visual Fortran Installing and Getting Started).
Is the correct path to yy.dll specified in the Basic declaration?
Carefully check the path and file name in the Visual Basic
Declare
statement.
et je n’arrive pas à comprendre l’histoire des fichiers
DFORRT.DLL, DFORMD.DLL, et MSVCRT.DLL.
(5) L’installation du Compaq Visual Fortran est complète et les 3 fichiers habite à
IN, et OUT, çà laisse penser à une déclaration comme :
Declare Function FortranCall Lib "FCALL.dll" (ByVal r1 As Single) As Single
à tenter..
celà dit çà ne concerne pas ton message d'erreur pour autant
DLL introuvable concerne le chemin qui n'est pas bon
essaye aussi de mettre FCALL dans SYSTEM32 puis reboot
puis si erreur, précise, car ne donne rien ne nous dit pas si c'est la même erreur :)
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
LFEMEDM
Messages postés5Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention18 septembre 2008 18 sept. 2008 à 20:22
Bonjours<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>
Je m’excuse de ne l’avoir pas fait plus tôt et évidement j’ai tous le plaisir de concéder les routines qui permette de lire les *.dll du CVF dans le VB6.
<hr />
(1) Dans le générale les lignes écrite antérieurement été bien, cependant je les ai laissé tombé (comme je l’avais déjà dit elles sont d’un exemple que je n’ai pas compris) et j’ai fais mon propre exemple qui fonctionne bien, l’erreur 53 est partie !
(2) Ainsi la *.dll du CVF (Projects : Fortran Dynamic Link Library ; Files : Fortran Free Format Source File) est:
SUBROUTINE SUB_MATRIX_A(MATRIXA,M)
!DEC$ ATTRIBUTES DLLEXPORT, ALIAS : "SUB_MATRIX_A" :: SUB_MATRIX_A
IMPLICIT NONE
INTEGER i,j,M,n
REAL*8 MATRIXA(M,M)
N = M
DO i = 1, M
DO j = 1, N
MATRIXA(i,j) = 0.0
END DO
END DO
DO i = 1, M
DO j = 1, N
MATRIXA(i,j) = 100.0*i
END DO
END DO
END SUBROUTINE
Après cliquer "Compile" et "Build" le CVF fournis dans le classeur "Debug" les fichiers :
(a)
ProjSolutionA.dll ;
(b) ProjSolutionA.exp ;
(c) ProjSolutionA.lib ;
(d) DF60.PDB ;
(e) FileSolutionA.obj ;
(f) ProjSolutionA.obj ;
(g) ProjSolutionA.pdb.
Emmené à peine la *.dll qui s’appel
ProjSolutionA.dll
dans le classeur du VB6 ou est classer Project1.vbp
(3) la Form1 du VB6 est:
Option Explicit
Private Sub Command1_Click()
Dim i%
Dim j%
Dim M%
Dim N%
Dim MATRIXA() As Double
M = 3
N = M
Text17.Text = M + 1
Text18.Text = N + 1
ReDim MATRIXA(M, N)
Call SUB_MATRIX_A(MATRIXA(0, 0), M + 1)
Text1.Text = MATRIXA(0, 0)
Text2.Text = MATRIXA(1, 0)
Text3.Text = MATRIXA(2, 0)
Text4.Text = MATRIXA(3, 0)
Text5.Text = MATRIXA(0, 1)
Text6.Text = MATRIXA(1, 1)
Text7.Text = MATRIXA(2, 1)
Text8.Text = MATRIXA(3, 1)
Text9.Text = MATRIXA(0, 2)
Text10.Text = MATRIXA(1, 2)
Text11.Text = MATRIXA(2, 2)
Text12.Text = MATRIXA(3, 2)
Text13.Text = MATRIXA(0, 3)
Text14.Text = MATRIXA(1, 3)
Text15.Text = MATRIXA(2, 3)
Text16.Text = MATRIXA(3, 3)
End Sub
Private Sub Command2_Click()
End
End Sub
(4) avec le Module1 du VB6
Option Explicit
Declare Sub SUB_MATRIX_A Lib "ProjSolutionA.dll" (ByRef MATRIXA As Double, ByRef M As Long)
<hr />
Um merci très spécial pour PCPT,
Au revoir,
LFEMEDM
cs_A20
Messages postés2Date d'inscriptionmardi 6 janvier 2009StatutMembreDernière intervention24 août 2010 23 août 2010 à 18:37
merci pour ces explications bien détallé ça ma aider ...
mais lorsque je compile mon programme il m'envoie cette erreur "NomDLL.dll intriuvable".
N.B: j'ai mets NomDLL.dll avec mon projet vb