100分镭雕二次开发求助: 金橙子 Ezcad MarkEZDDLL

来源:互联网  时间:2017/10/27 12:26:37

关于网友提出的“ 100分镭雕二次开发求助: 金橙子 Ezcad MarkEZDDLL”问题疑问,本网通过在网上对“ 100分镭雕二次开发求助: 金橙子 Ezcad MarkEZDDLL”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 100分镭雕二次开发求助: 金橙子 Ezcad MarkEZDDLL
描述:

VS2015 使用C#调用MarkEZD.DLL异常,找不到该DLL。
VC++ 6.0 调用,发现返回值是-1,还是找不到。
然后,用Depends 分析,发现少了7个DLL,网上逐一下载,最后发现DCOMP.DLL异常,如下图所示:
 100分镭雕二次开发求助: 金橙子 Ezcad MarkEZDDLL
请各位专家帮忙测试下,或许是我下载的DLL 和头文件有问题,附百度网盘附件下载。
下载压缩包有2个DLL和1个头文件。
https://pan.baidu.com/s/1jIzMyEU
附CPP文件


#include "stdafx.h"
#include "tchar.h"
#include "MyEzcad.h"
HINSTANCE hEzdDLL;
LMC1_INITIAL lmc1_Initial;
LMC1_LOADEZDFILE lmc1_LoadEzdFile;
LMC1_CHANGETEXTBYNAME lmc1_ChangeTextByName;
LMC1_MARK lmc1_Mark;
LMC1_CLOSE lmc1_Close;
BOOL APIENTRY _stdcall DllMain( HANDLE hModule, 
    DWORD  ul_reason_for_call, 
    LPVOID lpReserved )
    
{
    return TRUE;
}
__declspec(dllexport) int _stdcall stdCallStart(){
    hEzdDLL = LoadLibrary(_T("MarkEzd.dll"));
    if(hEzdDLL==NULL){
        return -1;    
    }
    
    lmc1_Initial=(LMC1_INITIAL)GetProcAddress(hEzdDLL, "lmc1_Initial");
    if(lmc1_Initial==NULL){
        return -1;    
    }
    lmc1_LoadEzdFile=(LMC1_LOADEZDFILE)GetProcAddress(hEzdDLL,"lmc1_LoadEzdFile");
    if(lmc1_LoadEzdFile==NULL){
        return -1;    
    }
    lmc1_ChangeTextByName=(LMC1_CHANGETEXTBYNAME)GetProcAddress(hEzdDLL,"lmc1_ChangeTextByName");
    if(lmc1_ChangeTextByName==NULL){
        return -1;    
    }
    lmc1_Close=(LMC1_CLOSE)GetProcAddress(hEzdDLL, "lmc1_Close");
    if(lmc1_Close==NULL){
        return -1;    
    }
    lmc1_Mark=(LMC1_MARK)GetProcAddress(hEzdDLL,"lmc1_Mark");
    if(lmc1_Mark==NULL){
        return -1;    
    }
    
    return 0;
}
__declspec(dllexport) int _stdcall stdCallEnd(){
    FreeLibrary(hEzdDLL);
    hEzdDLL = NULL;
    return 0;
}
__declspec(dllexport) int _stdcall lmc1_Initial_StdCall(TCHAR* strEzCadPath,
    BOOL bTestMode,
    HWND hOwenWnd){
    return lmc1_Initial(strEzCadPath,bTestMode,hOwenWnd);
}
__declspec(dllexport) int _stdcall lmc1_LoadEzdFile_StdCall(TCHAR* strFileName){
    return lmc1_LoadEzdFile(strFileName);
}
__declspec(dllexport) int _stdcall lmc1_ChangeTextByName_StdCall(TCHAR* strTextName, TCHAR* strTextNew){
    return lmc1_ChangeTextByName(strTextName,strTextNew);
}
__declspec(dllexport) int _stdcall lmc1_Mark_StdCall(BOOL bFlyMark){
    return lmc1_Mark(bFlyMark);
}
__declspec(dllexport) int _stdcall lmc1_Close_StdCall(){
    return lmc1_Close();
}


解决方案1:

 100分镭雕二次开发求助: 金橙子 Ezcad MarkEZDDLL请对缺少
“API-MS-WIN-*.DLL”
的提示做到眼不见为净!

解决方案2:

http://www.dllzj.com

上一篇sciterdll 从资源中加载
下一篇main函数最后一行报Segmentation fault: 11,什么原因?
明星图片
相关文章
《 100分镭雕二次开发求助: 金橙子 Ezcad MarkEZDDLL》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)