Erreur 'Le point d'entrée de procédure SMapLS est introuvable...' sous XP

Signaler
Messages postés
4
Date d'inscription
samedi 15 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2006
-
Messages postés
4
Date d'inscription
samedi 15 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2006
-
Bonjour,

je suis confronté à un problème auquel je cherche une solution, j'espère que peut être quelqu'un pourra m'aider...

je dispose d'un programme apparemment rédigé en C++ qui fonctionne sous Windows98 mais génère sous XP ou 2000 l'erreur suivante :

'Point d'entrée introuvable : Le point d'entrée de procédure SMapLS est introuvable dans la bibliothèque de liaisons dynamique KERNEL32.dll. '

Ce programme a été conçu par quelqu'un qui est parti mais je dispose des codes sources. Il est malheureusement impossible d'installer Windows98 sur les nouvelles machines appellées à faire fonctionner ce prog.

Ma question est simple (dans un premier temps) : que puis-je faire ?

Merci

5 réponses

Messages postés
237
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
22 juillet 2011
2
Salut :)

Apparemment, ce programme utilise une fonction disponible dans la version Windows 98 de kernel32.dll, mais qui a été supprimée sous Windows XP.. Donc tu as peu de solutions disponibles : soit réinstaller windows 98 (ce que tu ne peux pas, apparemment), soit, comme tu disposes des sources, trouver un moyen de recompiler ceci sous Windows XP en remplacant tous les appels a la fonction manquante par un appel équivalent sous Windows XP...
Si quelqu'un peut confirmer...

Bonne journée @+
Messages postés
4
Date d'inscription
samedi 15 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2006

Bonjour et merci pour votre réponse.

Disposant de VS .NET 2003, j'ai tenté d'importer et de recompiler le projet, voici le log que j'ai obtenu :


Build Log

------- Build started: Project: Psycho, Configuration: Debug|Win32 -------


Command Lines

Creating temporary file "g:\Psycho\Copie de PsychoSrcDisk\Debug\RSP000003.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "STRICT" /D "_AFXDLL" /FD /EHsc /MDd /Yc"stdafx.h" /Fp".\Debug/Psycho.pch" /Fo".\Debug/" /Fd".\Debug/" /FR".\Debug/" /W3 /c /ZI /TP
".\StdAfx.cpp"
]
Creating command line "cl.exe @"g:\Psycho\Copie de PsychoSrcDisk\Debug\RSP000003.rsp" /nologo"
Creating temporary file "g:\Psycho\Copie de PsychoSrcDisk\Debug\RSP000004.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "STRICT" /D "_AFXDLL" /FD /EHsc /MDd /Yu"stdafx.h" /Fp".\Debug/Psycho.pch" /Fo".\Debug/" /Fd".\Debug/" /FR".\Debug/" /W3 /c /ZI /TP
".\ZoomDlg.cpp"
".\SndPathDlg.cpp"
".\SelecBin.cpp"
".\SaisieListeEssaisDlg.cpp"
".\PsychoDlg.cpp"
".\Psycho.cpp"
".\DureeDlg.cpp"
".\CarteSelecDlg.cpp"
".\CarteFonction.cpp"
".\CaracPEDlg.cpp"
]
Creating command line "cl.exe @"g:\Psycho\Copie de PsychoSrcDisk\Debug\RSP000004.rsp" /nologo"

Output Window

Compiling...
StdAfx.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
Compiling...
ZoomDlg.cpp
g:\PSYCHO\Copie de PsychoSrcDisk\ZoomDlg.cpp(74) : error C2440: 'static_cast' : cannot convert from 'bool (__thiscall CZoomDlg::* )(void)' to 'AFX_PMSG'
None of the functions with this name in scope match the target type
SndPathDlg.cpp
SelecBin.cpp
SaisieListeEssaisDlg.cpp
PsychoDlg.cpp
Psycho.cpp
g:\PSYCHO\Copie de PsychoSrcDisk\Psycho.cpp(72) : warning C4996: 'CWinApp::Enable3dControls' was declared deprecated
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\afxwin.h(4369) : see declaration of 'CWinApp::Enable3dControls'
DureeDlg.cpp
CarteSelecDlg.cpp
CarteFonction.cpp
CaracPEDlg.cpp
Generating Code...

Results

Build log was saved at "file://g:\Psycho\Copie de PsychoSrcDisk\Debug\BuildLog.htm"
Psycho - 1 error(s), 1 warning(s)
Messages postés
4
Date d'inscription
samedi 15 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2006

désolé pour le format, je ne m'attendais pas à ce qu'il annule les retours à la ligne... bref les lignes incriminées sont en rouge

Merci
Messages postés
237
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
22 juillet 2011
2
Salut :)

J'y connais pas grand chose en MFC, mais j'ai entendu dire que VS .NET est plus strict sur les conversions de types avec MFC...
En regardant la doc, on voit que :
public typedef void(CCmdTarget::*AFX_PMSG)(void);
Tout ce qui change, c'est que ce que MFC attend renvoie void, et ta fonction renvoie bool... Essaie de lui faire renvoyer void, pour voir si ca compile... Apres, les conséquences sur le fonctionnement, je n'en sais strictement rien :)


Bonne journée @+
Messages postés
4
Date d'inscription
samedi 15 janvier 2005
Statut
Membre
Dernière intervention
4 mars 2006

J'essaierai lundi au bureau et vous tiendrai au courant, merci !