我做了一个vb调用vc制作的dll程序vc的程序需要用到一个lib文件
在vc里面link成功,dll编译成功
vb调用的时候,提示找不到dll文件
如果把vc里面用到的lib的函数去掉,就能调用成功这是怎么回事儿呢?怎么改,谢谢了!!!
在vc里面link成功,dll编译成功
vb调用的时候,提示找不到dll文件
如果把vc里面用到的lib的函数去掉,就能调用成功这是怎么回事儿呢?怎么改,谢谢了!!!
解决方案 »
- 用VB能实现这样的功能吗?应该怎样做~
- 数据库设计问题!
- Animation空间如何播放avi文件呀?
- 远程数据库
- 如何实现vb与远程sql server数据库的连接
- 在线高分求教,关于Microsoft Internet Transfer Control
- 如何单独屏闭窗口的最大化按钮,关闭和最小化按钮可以正常使用
- 石油大学 vb 视频教程 用的是哪本书啊..?知道告诉下我. 先谢谢了
- adodc1.recordset.find "试卷号='" & juanhao & "' and 题号='"& tihao &"'"
- 注册表的问题
- 关于MSFlexGrid1右键菜单的复制问题
- VBA excel中下拉选取不同的列表值之后,excel表格内容相对应的同时刷新。有没有这样的功能呢?求救!!
看一个函数就行了
这里面有一个nmdi.lib
我给连接进来了
里面有些函数是从这个lib里面调用的
如果把这些函数去掉就好用
要不就不好用 # include <windows.h>
# include <stdio.h>
# include <stdlib.h>
# include <process.h>
# include <ctype.h>
# include <nmdi.h>
# include "tuushinn.h" /* DINA 捠怣儔僀僽儔儕傪巊梡偡傞偲偒偵偼丄
僿僢僟 僼傽僀儖 nmdi.h 傪僀儞僋儖乕僪偡傞
昁梫偑偁傝傑偡丅 *//* 偙偺僾儘僌儔儉偱偼師偺僷儔儊乕僞傪屌掕偵帩偭偰偄傑偡丅 */# define LU_NO 0x28 /* 帺嬊懁 LU 斣崋 */
# define IS_PARAMETER "APPL=ATSS" /* INIT-SELF 偺僷儔儊乕僞 */
# define TS_PARAMETER "" /* TERM-SELF 偺僷儔儊乕僞 */HANDLE stop_event; /* NMD_Receive 張棟愱梡僗儗僢僪偐傜偺捠抦梡
僀儀儞僩偺僴儞僪儖 */
HANDLE session; /* 僙僢僔儑儞 僴儞僪儖 */char *tmpmsg;
int int_ret;
char *tmperrmsg;
char *tmpemsg;
char RetData[170];
char RetMsg[100];
void CreFile();int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)
{
return TRUE ;
}
__stdcall CALLBACK int DennBun(char* inmsg,int inlen,int outlen)
{
CreFile();
return 0;
/* void child(void *);
char *rsc_name;
NMD_RESULT result;
NMD_DATA_ATTR attr;
NMD_RSP rsp;
static char buffer[4096];
int ret_value;
DWORD flag;
char *msg;
char *errmsg;
int_ret = 0;
memset(&msg, 0, sizeof(msg));
stop_event = CreateEvent(NULL, TRUE, FALSE, NULL);// rsc_name = argv[1]; ????
memset(&rsc_name, 0, sizeof(rsc_name));
strcpy(rsc_name,"HOST1");
memset(&result, 0, sizeof(NMD_RESULT)); session = NMD_Open(rsc_name, NMD_APTYPE_USERAP, LU_NO, NULL, &result);
if (session == NULL) {
strcpy(errmsg,NMD_StrError(result.status, NULL));
return -1;
exit(1);
}
if (result.status == NMD_PROT_DINA) {
flag = NMD_PROT_DINA; strcpy(buffer, IS_PARAMETER);
memset(&attr, 0, sizeof(NMD_DATA_ATTR));
attr.command = NMD_CMD_INIT_SELF;
attr.key = NMD_KEY_EMI;
memset(&rsp, 0, sizeof(NMD_RSP));
memset(&result, 0, sizeof(NMD_RESULT));
ret_value = NMD_Send(session, buffer, strlen(buffer), &attr, &rsp,
NULL, &result);
if (ret_value < 0) {
if (ret_value != -3) {
strcpy(errmsg, NMD_StrError(result.status, NULL));
} else {
strcpy(errmsg,"-RSP 棟桼僐乕僪: ");
sprintf(msg, "%d", rsp.reason);
strcat(errmsg,msg);
strcat(errmsg,"僨乕僞丗");
sprintf(msg, "%d", rsp.code);
strcat(errmsg,msg);
strcpy(tmperrmsg,errmsg);
int_ret = -1;
}
goto Close_And_Exit;
}
} _beginthread(child, 0, NULL);
while (WaitForSingleObject(stop_event, 0) == WAIT_TIMEOUT) { //fgets(buffer, sizeof(buffer), inmsg);
strncpy(buffer,inmsg,inlen);
if (strlen(buffer) == 0)
continue;
memset(&attr, 0, sizeof(NMD_DATA_ATTR));
attr.command = NMD_CMD_DATA;
attr.key = NMD_KEY_EMI;
memset(&rsp, 0, sizeof(NMD_RSP));
memset(&result, 0, sizeof(NMD_RESULT));
ret_value = NMD_Send(session, buffer, strlen(buffer) - 1, &attr, &rsp,
NULL, &result);
if (ret_value < 0) {
if (ret_value != -3) {
strcpy(errmsg, NMD_StrError(result.status, NULL));
} else {
strcpy(errmsg,"-RSP 棟桼僐乕僪: ");
sprintf(msg,"%d",rsp.reason);
strcat(errmsg,msg);
strcat(errmsg,"僨乕僞丗");
sprintf(msg,"%d",rsp.code);
strcat(errmsg,msg);
strcpy(tmperrmsg,errmsg);
int_ret = -1;
}
}
}
if (flag == NMD_PROT_DINA) { strcpy(buffer, TS_PARAMETER);
memset(&attr, 0, sizeof(NMD_DATA_ATTR));
attr.command = NMD_CMD_TERM_SELF;
attr.key = NMD_KEY_EMI;
memset(&rsp, 0, sizeof(NMD_RSP));
memset(&result, 0, sizeof(NMD_RESULT)); ret_value = NMD_Send(session, buffer, strlen(buffer), &attr, &rsp,
NULL, &result);
if (ret_value < 0) {
if (ret_value != -3) {
strcpy(errmsg, NMD_StrError(result.status, NULL));
} else {
strcpy(errmsg,"-RSP 棟桼僐乕僪: ");
sprintf(msg,"%d",rsp.reason);
strcat(errmsg,msg);
strcat(errmsg,"僨乕僞丗");
sprintf(msg,"%d",rsp.code);
strcat(errmsg,msg);
strcpy(tmperrmsg,errmsg);
int_ret = -1;
}
goto Close_And_Exit;
}
}Close_And_Exit:
memset(&result, 0, sizeof(NMD_RESULT));
NMD_Close(session, NULL, &result);
//strncpy(outmsg,tmpmsg,outlen);
CreFile();
CloseHandle(stop_event);
*/
return int_ret;
}void child(void *tmp)
{
NMD_DATA_ATTR attr; /* 庴怣僨乕僞偺懏惈忣曬 */
NMD_RESULT result; /* 張棟寢壥傪奿擺偡傞峔憿懱 */
static char buffer[4096]; /* 庴怣僨乕僞梡僶僢僼傽 */
int ret_value; /* 栠傝抣 */
// FILE *fp; /* 寢壥傪彂偒崬傓僼傽僀儖 */ while (WaitForSingleObject(stop_event, 0) == WAIT_TIMEOUT) {
memset(&attr, 0, sizeof(NMD_DATA_ATTR));
memset(&result, 0, sizeof(NMD_RESULT)); ret_value = NMD_Receive(session, buffer, sizeof(buffer), &attr,
NULL, NULL, &result);
// fputc('\a', stdout);
// fp = fopen("receive.txt", "a");
// fputc('\n', fp);
if (ret_value < 0) {
strcpy(tmperrmsg,"捠怣僄儔乕僐乕僪: ");
sprintf(tmpemsg,"%d",result.status);
strcat(tmperrmsg,tmpemsg);
strcat(tmperrmsg,"儊僢僙乕僕:");
// sprintf(tmpemsg,"%d",NMD_StrError(result.status, NULL));
strcat(tmperrmsg,tmpemsg);
int_ret = -1;
break;
}
switch (attr.command) {
case NMD_CMD_DATA:
strcpy(tmperrmsg, "僨乕僞傪庴怣偟傑偟偨丅\n");
break;
case NMD_CMD_ACTIVE:
strcpy(tmperrmsg, "捠怣壜擻捠抦傪庴怣偟傑偟偨丅\n");
break;
case NMD_CMD_INACTIVE:
strcpy(tmperrmsg, "捠怣晄壜捠抦傪庴怣偟傑偟偨丅\n");
break;
case NMD_CMD_CANCEL:
strcpy(tmperrmsg, "CANCEL 傪庴怣偟傑偟偨丅\n");
break;
case NMD_CMD_NSPE:
strcpy(tmperrmsg, "NSPE 傪庴怣偟傑偟偨丅\n");
break;
case NMD_CMD_SIGNAL:
strcpy(tmperrmsg, "SIGNAL 傪庴怣偟傑偟偨丅\n");
break;
}
if (ret_value) {
strcpy(tmpmsg,buffer);
/* int i, j; fprintf(fp, "庴怣撪梕:\n");
for (i = 0; i < ret_value; i += 16) {
fprintf(fp, "%08x ", i);
for (j = 0; j < 16 && i + j < ret_value; ++j)
fprintf(fp, "%02x ", (unsigned)buffer[i + j]);
for (; j < 16; ++j)
fprintf(fp, " ");
printf(" ");
for (j = 0; j < 16 && i + j < ret_value; ++j)
fputc((isprint(buffer[i + j]) ? buffer[i + j] : '.'),
fp);
for (; j < 16; ++j)
fputc(' ', fp);
fputc('\n', fp);
}*/ }
// fclose(fp);
if (attr.command == NMD_CMD_INACTIVE)
break;
}
SetEvent(stop_event);
_endthread();
}void CreFile()
{
FILE *fp;
//曉怣僼傽僀儖
if((fp=fopen("d:\\Data.txt","a"))==NULL)
{ exit(1);
}
strcpy(RetData,"");
// strcpy(RetData,tmpmsg);
strcpy(RetData,"2134123483210948912385-12850185910285akgjalskjdgkaljdg023485093248590");
//儊僢僙乕僕僼傽僀儖
fputs(RetData,fp); fclose(fp);
if((fp=fopen("d:\\Msg.txt","a"))==NULL)
{ exit(1);
}
strcpy(RetMsg,"");
// strcpy(RetMsg,tmperrmsg);
strcpy(RetMsg,"msgmsgmsgmsgmsgmsgmsgmsg");
fputs(RetMsg,fp);
fclose(fp);}