关于c#的winform项目调用c++qt的dll,数据类型冲突

这是qt部分,我先按照百度的方法写了个测试方法,传两个int类型,返回他们的和,打包成dll后可以在winform里调用图片说明
后来我准备传String类型,返回String类型,再次在winform里点击按钮,就提示exe停止运行了
图片说明
qt上面提示不兼容,可能是qt的QString类型和c#的String类型不一样导致的么,怎么解决qt和c#数据类型的不兼容,基本数据类型,比如int,double等是qtc++和c#共有的,倒是可以传值和返回

1个回答

QString qstr;
string str;
str = qstr.toStdString();
qstr = QString::fromStdString(str);

qq_40700100
萌新级程序猿 这个是QString和std::string之间的转换把,还是不行,std::string还是说有冲突
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于c#的winform项目调用c++qt的dll,数据类型冲突
这是qt部分,我先按照百度的方法写了个return a+b的测试方法,打包后可以在winform里调用rn[img=https://img-bbs.csdn.net/upload/201711/22/1511331243_314248.png][/img]rn后来我准备传String类型,返回String类型,再次在winform里点击按钮,就提示exe停止运行了rn[img=https://img-bbs.csdn.net/upload/201711/22/1511331435_754823.png][/img]rnqt上面提示不兼容,可能是qt的QString类型和c#的String类型不一样导致的么,怎么转换类型解决qt和c#数据类型的不兼容
c#调用qt dll
两种接口的使用 1. 返回类型为int的简单add函数 2. 回调函数
关于dll调用冲突问题
有如下目录结构rnrn程序目录rn |rn ———— myapp.exern        |rn         ———— dll目录1rn        |      |rn        |       ———— a1.dllrn        |      | rn        |       ———— b.dllrn         ———— dll目录2rn               |rn                ———— a2.dllrn               | rn                ———— b.dllrn我用LoadLibraryEx调用a1.dll和a2.dll,使用参数LOAD_WITH_ALTERED_SEARCH_PATH,由于b.dll中有同名函数,调用a1.dll或a2.dll函数时会发生访问b.dll中函数报错,我想应该是,同名函数的冲突问题,请问如何加载a1.dll和a2.dll使得a1.dll在dll目录1中访问b.dll,而a2.dll在dll目录2中访问b.dll?
C# WINFORM调用DELPHI的DLL
接口说明如下:rn认证函数:rnfunction Sed_Auth (SendData:String; var ErrMsg: String):Word;rn功能:对客户端进行认证。只有认证通过了才能进行业务处理。建议在系统启动时进行认证。rn参数:rnSendData格式如下:rnsSvrIP 前置服务器IP地址rnsSvrPort 前置服务器端口号rnsHospCode VarChar(5) 医疗机构ID rnsPassWord VarChar(8) 医疗机构密码rn   sUserName VarChar(10) 操作员rn返回值:1成功,0失败rnrn我的调用代码如下:rn[DllImport("sed_siif.dll", CharSet = CharSet.Ansi, PreserveSig = false, CallingConvention = CallingConvention.StdCall)]rnpublic static extern int Sed_Auth(string SendData, ref StringBuilder ErrMsg);rnrnprivate void Form1_Load(object sender, EventArgs e)rnrn StringBuilder sb = new StringBuilder("172.16.33.3@23432@20000@20000@999");rn StringBuilder msg = new StringBuilder(1024);rn MessageBox.Show(Sed_Auth(sb.ToString(), ref msg).ToString());rn MessageBox.Show(msg.ToString());rnrnrn这个是我写的测试例子,rnMessageBox.Show(Sed_Auth(sb.ToString(), ref msg).ToString());rn这行代码返回值为“0”,可以报出来,但是如果字符串正确的话应该是“1”rn另外:MessageBox.Show(msg.ToString());rn这行代码中的msg没有任何值。rnrn
C#调用QT的dll方法
C#调用QT的dll方法,个人资料方法,仅供参考,如有哪位大虾有更好的方法,请留言
C# 调用QT DLL问题
小弟最近学习QT,需要使用C#调用QT 写的DLL,收集学习相关资料后,发现使用QTWINMIGRATE好像可以,于是模仿做了一下,但是在C#中总是出现“无法打开qtdialog.dll,找不到相应模块”的错误。DLL我是放在了C# 项目下的DEBUG中的,也罢QTCORE.DLL及其它相关的都拷贝到DEBUG下了,还是运行失败。代码如下:rnrnQT中的rnrn#include rn#include rn#include rn#include rnrnBOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/ )rnrn static bool ownApplication = FALSE;rnrn if ( dwReason == DLL_PROCESS_ATTACH )rn ownApplication = QMfcApp::pluginInstance( hInstance );rn if ( dwReason == DLL_PROCESS_DETACH && ownApplication )rn delete qApp;rnrn return TRUE;rnrnrnextern "C" __declspec(dllexport) bool showDialog( HWND parent )rnrn QWinWidget win( parent );rn win.showCentered();rn QMessageBox::about( &win, "About QtMfc", "QtMfc Version 1.0\nCopyright (C) 2003" );rnrn return TRUE;rnrnrn上述编译生成的是qtdialog.dllrnrnC#中rnrn[DllImport("qtdialog.dll")]rnprivate static extern showDialog(IntPtr parent);rnrnrn调用。rnrnshowDialog( this.Handle);rnrnrnrn-----------rnrn忘高手指点迷经啊~
c#调用C的DLL
c#调用C的DLL
c#调用c的dll
小弟目前遇到一个问题,本人的程序是c#开发的,需要调用别人使用c开发的dll,而这dll里面存在一些汇编代码,在我的程序调用到存在汇编操作的dll函数时,程序报错,“内存不能读取或写入,可能是内存以损坏”。rn请各位高手指点一下,如何解决。
c# 调用 c dll
我在c#中调用 c 写的dll动态链接库,弄了好久,总是报“尝试读入或写入受保护的内存”这样的错误,估计是参数类型对应出错了。大家帮忙看下,下面这个动态库中的c语言函数转换成c#的函数,参数该是怎么样的呢?谢谢rnlong WINAPI OpenComPort(long Port, unsigned char *ComAdr, unsigned char * Baud,long *FrmHandle);
QT调用dll和MFC调用QT的dll
编写QT的dll,QT调用QT的dll,QT调用外部的dll,MFC程序调用QT的dll,
关于dll调用winform的问题
建立一个解决方案有两个项目,一个是windows应用程序,一个是类库。请教类库生成的dll里面的函数可以调用windows应用程序的窗体吗?如果可以那么怎么实现呢?请各位指点迷津。
关于C#调用C写的Dll的问题
C API声明如下:rnint WINAPI SMGPSendSingle( rn int nNeedReport,rn int nMsgLevel,rn const char* sServiceID,rn int nMsgFormat,rn const char* sFeeType,rn const char* sFeeCode,rn const char* sFixedFee, rn const char* sValidTime,rn const char* sAtTime,rn const char* sSrcTermID,rn const char* sChargeTermID,rn const char* sDestTermID,rn int nMsgLen,rn const char* sMsgContent,rn char* sMsgID,rn int* pnErrorCode,rn char* pMsgType = NULL,rn char* pReserved = NULL,rn const int* pTP_pid = NULL,rn const int* pTP_udhi = NULL,rn const char* pLinkID = NULL,rn const char* pMsgSrc = NULL,rn const int* pChargeUserType = NULL,rn const int* pChargeTermType = NULL,rn const char* pChargeTermPseudo =NULL,rn const int* pDestTermType = NULL,rn const char* pDestTermPseudo = NULL,rn const int* pPkTotal = NULL,rn const int* PkNumber = NULL,rn const int* pSubmitMsgType = NULL,rn const int* pSPDealResult = NULL, rn const char* pMServiceID = NULLrn );rnrn我用C#写的调用代码如下:rn[DllImport("SmgpDll.dll", EntryPoint = "SMGPSendSingle")]rn private static extern int SMGPSendSingle( rn int nNeedReport,int nMsgLevel,string sServiceID,int nMsgFormat,string sFeeType,string sFeeCode, //[7]rn string sFixedFee,string sValidTime,string sAtTime,string sSrcTermID,string sChargeTermID, //[22]rn string sDestTermID,int nMsgLen,string sMsgContent,rn [Out]StringBuilder sMsgID, ref int pnErrorCode, StringBuilder pMsgType, StringBuilder pReserved, ref int pTP_pid,rn ref int pTP_udhi, string pLinkID, string pMsgSrc, ref int pChargeUserType,rn ref int pChargeTermType, string pChargeTermPseudo, ref int pDestTermType, string pDestTermPseudo,rn ref int pPkTotal, ref int PkNumber, ref int pSubmitMsgType, ref int pSPDealResult, string pMServiceID);rnrn每次调用就报"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"rn请高手解答
关于C#调用c的dll是的问题
#define IMAGE_WIDTH (352)rn#define IMAGE_HEIGHT (288)rn uint8_t frameData[65536];rn uint8_t imageRGB[IMAGE_WIDTH* IMAGE_HEIGHT*3];rnrn void* g_dec_handler = h264_dec_init();rn if(!g_dec_handler) return FALSE;rn//开始解码rnwhile(1)。。。。。。。。。。。。。。。。。。rnrn我现在的改写的C#代码是static void Main(string[] args)rn rn const int IMAGE_WIDTH =352;rn const int IMAGE_HEIGHT=288;rn byte [] frameData;rn frameData =new byte [65536];rn byte[] imageRGB;rn imageRGB = new byte[IMAGE_WIDTH * IMAGE_HEIGHT * 3];rn下面就有问题了。。不知怎么写了。。。求大侠解释。在线等。rn
关于 c# 调用c动态dll
[b][color=#FF0000]请问下面调用正确吗?rn为什么我的程序调用后还是出现SSL初始化错误rnSSLLib.dllrn放在了bin下rnrn[/color][/b]rnrnrn[code=C/C++]rnint OPENSSL_init(intmode)rn[/code]rnrn[code=C#]rnrnrn[DllImport("SSLLib.dll",CallingConvention=CallingConvention.Cdecl,EntryPoint="OPENSSL_init")]]rnpublic static extern int OPENSSL_init(int mode);rnrnrnrn函数调用rnpublic void test()rnrn //为什么这里初始化会出错?rn int i= OPENSSL_init(0);rnrnrn[/code]
关于C# 调用C语言 DLL 的问题 !
我现在有一个DLL需要我用C#将其引用。 函数原型是是这样的!rnrnvoid __stdcall QSCalc1(double f1,double f2,double f4,rnint m,rndouble *F, double *tg, double *th,rndouble *tg0, double *th0,rndouble *tn0, double tw0, double Fz,rndouble Qz,rndouble *q,double *s);rnrnrn我现在写了一个方法。 调用的时候没有问题,但是在返回的时候 总是报错! rn引发类型为“System.ExecutionEngineException”的异常。rnrnQSCalc1(f1,f2,f4,m,ref F,ref tg, ref th,ref tg0,ref th0,ref tn0,Convert.ToDouble(tw0),Fz,Qz,ref q,ref s);rnrn编译正常通过,但是在进行调用该函数的时候就报上面的错误。 不知道是哪出了问题, 还有,上面引用的方法中, ref q 和ref s 是DLL返回的两个数组。 我想把这两个数组中的数据读出来,应该怎么办呢? (无法更改DLL文件)
C#调用C写的DLL要如何转换参数的数据类型
C写的方法rnint rf_select(int icdev,unsigned long _Snr,unsigned char *_Size);rnrnC#:rn[DllImport("mwrf32.dll")]rnpublic static extern int rf_select(int icdev, long _Snr, ref byte _Size);rnrn可是调用的时候总是提示“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”rn应该怎么做呢
C# 调用C/C++ DLL
[code=c]typedef struct IdcInfo rn char name[30+1]; //rn char sex[1+1]; //'1'男 '2'女 rn char nation[2+1]; //民族 '01'-'57'rn char birth[8+1]; //YYYYMMDDrn char addr[70+1];rn char pid[18+1];rn char issue[30+1]; //发卡机关rn char valid_start[8+1]; //rn char valid_end[8+1]; //rn TIdcInfo;rnrn//读身份证,读取成功后,会在当前目录生成xp.bmp照片文件 // iccdll.dllrnSTDAPI ReadIdcInfo(int ReaderHandle, TIdcInfo *pIdcInfo);rnrn[/code]rnrnrn求C#中该如何调用,谢谢!
C#调用C语言的DLL
C#调用C语言实现的DLL时,出现CoTaskMemFree(IntPtr ptr ) 的错误,查了一下,感觉是参数没有对应上,哪位大侠帮我看看是哪里的问题好吗,跪谢~rnrnC语言被调用代码:rntest.dllrn__declspec(dllexport) char* fun(DWORD mode,const char* password);rnchar* fun( DWORD mode, const char* password);rnrnC#调用侧代码:rn static String code;rn [DllImport("test.dll", CharSet = CharSet.Ansi)]rn public static extern String fun(int mode, String password);rnrn static void Main(string[] args)rn rn String s = "123";rn code = obl_crypto_hash(5, s);rn
C#调用C编写dll
[DllImport("P230_DLL_VC.DLL")]rnpublic static unsafe extern int RpcClose();rnrn调用 int a=RpcClose();rn出错:无法在 DLL P230_DLL_VC.DLL 中找到名为 RpcClose 的入口点。rn请教一下如何解决。rn谢谢!
c#调用c语言Dll
程序实现了C语言生成动态链接库,以及C#的调用方法
c# 调用c动态dll
[b][color=#FF0000]请问下面调用正确吗?rn为什么我的程序调用后还是出现SSL初始化错误rnSSLLib.dllrn放在了bin下[/color][/b]rnrn[code=C#]rnint OPENSSL_init(intmode)rnrnrn[/code]rnrnrnrnrn[code=C#][DllImport("SSLLib.dll",CallingConvention=CallingConvention.Cdecl,EntryPoint="OPENSSL_init")]]rnpublic static extern int OPENSSL_init(int mode);rnrnrnrn函数调用rnpublic void test()rnrn //为什么这里初始化会出错?rn int i= OPENSSL_init(0);rnrnrn[/code]rnrnrnrn[color=#FF0000]1楼 bdmh回复:是什么调用约定啊,stdcall还是cdecl,c默认是cdeclrnrnrnrn 答: 是 Cdecl.. 急死我了。 应该本地可以调用阿 为什么会这样 。 1点多就要测试了。rnrnrn2楼 evilant回复:SSL初始化错误,是不是找不到SSLib.dll?rnrnrn 答:rn SSLLib.dll放在程序bin->DeBug下了!rnrn3楼 guliang21 回复 :放到system32下试试rnrn 答:放了 。还是一样rnrn4楼 lizhibin11 大侠:回复:CallingConvention=CallingConvention.Cdecl把这个去掉rn 答: 去掉还是一样rnrn5楼 isjoe回复:是web项目吗?rn 答: winfrom[/color]rnrnrnrn
【C#】调用C语言生成的dll
C#调用C语言生成的dll using System; using System.Runtime.InteropServices; //与导入dll有关的命名空间 using System.Windows.Forms; class Example { //[导入dll,dll与exe在同一个文件夹下]导入dll中getCpuID1函数 [DllImport("CPUID32DLL.dll...
求救: c#调用 c的dll
c#调用 c的dllrn有两个传出参数 char* password,char* corp_idrnrndll内部定义rnunsigned long user_num;rn.....rnsprintf(corp_id,"%06ld",user_num);rnrnunsigned char cur_word,chk_word,pwd_word[17] = ""rn.....rnsprintf(password,"%s",pwd_word);rnrnrn我在c#中用StringBuilder,password得不到值,corp_id得出的值是正确的,是什么原因啊???rn
C#调用c的dll问题
函数原型:int WINAPI rf_anticoll(unsigned short icdev, rn unsigned char bcnt,rn unsigned char *pSnr,rn unsigned char *pLen)rn参数:icdev:[IN] 通讯设备标识符rn bcnt: [IN] 取值4rn pSnr: [OUT]返回的卡序列号rn pLen: [OUT]返回序列号的长度rn返回:成功返回0rn我在c#中应如何定义入口参数?rnpublic static extern int rf_anticoll(int dev, byte bcnt, out string pSnr, out int len)rn这个不行。报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
C# 调用 C 编写的 dll 中的数据类型问题
我用 C 写了一个动态链接库,函数中含有定长字符数组 (const char*) 类型的参数和返回值:rnrn[code=c]rnextern "C" rn __declspec(dllexport) const char* ResolveText(int wcn, int head, int tail, const char* text, const char* separators);rnrn[/code]rnrn现在我要用 C# 调用这个库,但不知道 const char* 在 C# 中对应什么类型。自己在网上查了,有说用 IntPtr 的也有说用 string 的,但我试了几下,都会抛出异常。请问 C# 中这个函数的声明和使用应该怎么写?
C#调用C代码DLL
首先我们新建一个C语言的WIN32项目 选择项目类型为DLL库 在新建的项目中我们添加Ccode.h,Ccode.cpp两个文件 Code.h extern "C" __declspec(dllexport) int Minus(int a, int b); extern "C" __declspec(dllexport) int Add(int a, int b); Cc...
c#初学,调用c的dll
c的头文件rnextern "C" void _export _stdcall get_one_yc(int fac, int yc_dot, float *yc_value);rnrnc#调用我这样写rn public class DllTestrn rn [DllImport("BaseDll.dll")]rn private extern static void get_one_yc(int fac, int yc_dot, float *yc_value);rn rnrn提示“指针和和固定大小缓冲区只能在不安全的上下文中使用”,我这样写对吗,要怎么改,之后要如何用这个函数,帮忙写写吧,多谢了
C#调用C Dll的问题
在C#中调用C写的Dll,rn函数原型为 void GetPic(char * szCode, BYTE * pPicture)rnrn用C#建个窗口应用程序rnrn [DllImport("PictureGenerator.dll", EntryPoint = "GetPic")]rn static extern void GetPic(string szCode, byte[] pPicture);rnrnrn private void Form1_Load(object sender, EventArgs e)rn rn rn Byte[] pPic = new Byte[9000];rn GetPic("test", pPic);rn rnrn这样是可以调用的。rnrn但是,同样的代码,放在WEB中就不行了。在运行到GetPic时就会出错。说是 rnNullReferenceException: 未将对象引用设置到对象的实例rn这是为什么啊,窗口程序的与WEB有什么不同么。
C#调用C DLL异常
最近在开发过程中需要使用C#调用C写的DLL,但在调用过程中遇到这个问题:“尝试读取或写入受保护的内存 这通常指示其它内存已损坏”,出现错误的地方可能为C#定义的结构体与C定义的结构体转换错误。详细如下:rn1.引用外部C的DLL:rn[code=csharp][DllImport(@"C:\Users\Administrator\Documents\visual studio 2010\Projects\CSQLDLL\Debug\CSQLDLL.dll", EntryPoint = "CDBWriteFunc")]rn public static extern int CDBWriteFunc(ref DB_INFO_CTL_TBL dbinfo, [In, Out] USR_INFO_TBL []usrinfo,int count);[/code]rn2.C#中结构体定义:rn[code=csharp][StructLayout(LayoutKind.Sequential)]rn public struct DB_INFO_CTL_TBLrn rn [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]rn public string byDBName; // DB Namern [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]rn public string byUsrName; // DB User Namern [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]rn public string byIPAddr; // IPrn [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]rn public string byDBPwd; // Passwordrn ;rn [StructLayout(LayoutKind.Sequential)]rn public struct USR_INFO_TBLrn rn [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]rn public string byName;rn [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]rn public string byAge; rn ;[/code]rn3.C中的函数声明:rn[code=c]__declspec(dllexport) INT __stdcall CDBWriteFunc( DB_INFO_CTL_TBL *dbinfo, USR_INFO_TBL *usrinfotbl,INT count );[/code]rn4.C中的结构体定义:rn[code=c]typedef structrnrn BYTE byDBName[20]; // DB Namern BYTE byUsrName[20]; // DB User Namern BYTE byIPAddr[20]; // IPrn BYTE byDBPwd[20]; // PasswordrnDB_INFO_CTL_TBL;rnrntypedef structrnrn BYTE byName[20]; rn BYTE byAge[20];rnUSR_INFO_TBL;[/code]rnrn抛出“尝试读取或写入受保护的内存 这通常指示其它内存已损坏”的异常,请问大师们这为毛???
C#调用C写的dll
我的步骤是这样的,大家帮忙看看。rn1。把c写的dll拷贝到c#工程的bin的debug下面。rn2。c的头文件如下rnextern "C" rnAMI_UTIL_API long AMI_UTIL_API_CALL getPropertyName(const char* propertyName1, char* propertyName2, int propertyNameLength);rnrn所以,在c#的代码里面,如下rn[DllImport("AmiUtil.dll", EntryPoint = "getPropertyName", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)]rnprivate static extern long getPropertyName(string propertyName1, string propertyName2, int propertyNameLength);rn3。调用的时候,我写成如下rnstring str1, str2;rnnPropertyNameLength = 0;rngetPropertyName(str1, str2, nPropertyNameLength))rnrnrn正确的步骤和写法应该是怎么样的?
C#调用C DLL文件
这是我调用的 [DllImport("Zhuzhan.dll", EntryPoint = "IdentityAuthentication", CharSet = CharSet.Ansi)]rn static extern int IdentityAuthentication(string Div,byte[] RandAndEndata);rn他原始提供的是IdentityAuthentication(char* Div,char* RandAndEndata);rn 不过经常报错rnrn运行时遇到了错误。此错误的地址为 0x62ed646b,在线程 0xf9c 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。rnrn
c#怎么调用C的DLL?
有以下疑惑:rn1、c++的dll和c的dll有什么区别?rn2、c#调用c的dll的时候有什么不同?rnrn有人说,c#调用c的dll还要中间加一层c++的封装?rnrn另,我用vc6写以下的代码,有什么错?rnrn[code=C/C++]rn//dll.cpprn#include "Dll.h " rnint add(int a,int b) rn rnreturn a+b; rn rnint subtract(int a,int b) rn rnreturn a-b; rn rnrn[/code]rn[code=C/C++]rn//dll.hrnextern "C " _declspec(dllimport) int add(int a,int b); rnextern "C " _declspec(dllimport) int subtract(int a,int b); rn[/code]
C# 调用 C 写的DLL
'int __stdcall GetBasicInfo(HANDLE icdev,unsigned long &CardSN); rnPrivate Declare Function GetBasicInfo Lib "CMCC.dll" (ByVal icdev,ByRef CardSN&) As Longrn rn上面是 VB 6.0 中调用 C DLL的代码 rn------------------------------------------------------------------------------------ rn那么 C# 遇到 &CardSN 该怎么写呢,请教,不胜感激 rn
C# 调用 Delphi dll 数据类型问题
1、function LoadFCPSDK(GetMsgHwnd:HWND;LPort:Integer):Integer;stdcall;rn 功能:初始化设备rn 参数:GetMsgHwnd,接收SDK消息通知的窗口句柄rn LPort:网络监听端口号rn 返回值: 0 = 成功rn ERR_PARAM= GetMsgHwnd传入的窗口句柄无效rn ERR_NETINIT = 网络初始化失败(LPort可能有误)rn2、 function GetConInfo(CSock:TSocket;IPInfo:PSockAddrIn):Integer;stdcall;rn 功能:取连接控制器的IP地址信息rn 参数: CSock: 控制器连接IDrn IPInfo: 指向TSockAddrIn(或TSockAddr)结构的指针rn 返回值:rn 0 = 成功rn 其它=失败.rnrn这是 Delphi 的函数说明,请问上面的 HWND;TSocket;PSockAddrIn 这 3 个数据类型在 C# 中怎么对应的?rn
C#调用C++开发的DLL参数数据类型
函数签名: int Query_Card(HANDLE icdev, LPINT CardType, LPSTR Cardno)rnrn请问用C# 调用此方法时参数的数据类型应该用什么?rn谢谢!
QT调用mfc dll和qt dll
该资源能够使用qt生成dll, 同时又mfc dll的例程,同时有使用qt调用 mfc 和qt dll的例程 。对于 学习使用qt dll很有帮助。
Qt Dll调用-Qt创建的dll
经过网上一大堆人说的方法,测试都是不行的,试了一天; 在建库文件时,使用了很多的信号与槽,还有定时器,在另外的独立工程,把生成库对应的文件建立为一个console可以运行,没搞明白为啥封装到DLL,调用时出现一堆问题,关于C++封装,还是初学,有没有前辈赐教。 ...
QT调用QT DLL方法
Qt提供了一个 QLibrary 类供显示调用 一、QT DLL接口: extern "C" Q_DECL_EXPORT bool ProcessData (float *InputData,int Length,Paramter Param, SunShine *RetStructs,int *RetNum) 二、C#调用QT DLL方法: typedef bool (*Fun)(...
c# winform怎么调用IIS上的DLL
怎么调用IIS上的。地址如下:http://127.0.0.1/DLLrnrn
c# winform调用vb pb dll问题
rn2个问题,rnrn1.我现在有个VB DLL需要调用,我注册改VB DLL后,直接用项目引用调用没问题,但是我现在想用DLLImport来调用,我总是失败,用查看器,查看VB DLL里的导出函数,发现没有我在引用里的那些函数名,只有几个我不认识的函数名,我现在如何才能用DLLImport来调用?rnrn2.我现在有个PB DLL需要调用,我现在想用DLLImport来调用,但是我总是失败,用查看器,查PB DLL里的导出函数,发现没有我在引用里的那些函数名,只有几个我不认识的函数名(写该DLL得程序员告诉我里面只写了个加法函数,并给我里面的代码,这加法函数我们这里是调用测试),我试着调用这些不认识的函数名,调用第1个时总返回1,调用其他的都是“未能引用对象到实例”,现在如何才能用DLLImport来调用?rnrn我写的测试语句rnrn第一次测试 rnrn [DllImport(@".\myadd.dll",EntryPoint="f_add")]rn public static extern int f_add(int a, int b);rnrn private void button2_Click(object sender, System.EventArgs e)rn rn MessageBox.Show(f_add(2, 3).ToString());rn rnrn未处理的“System.EntryPointNotFoundException”类型的异常出现在 WindowsApplication1.exe 中。rnrn其他信息: 无法在 DLL .\myadd.dll 中找到名为 f_add 的入口点。rnrnrnrnrn第二次测试rn [DllImport(@".\myadd.dll",EntryPoint="_DllMain@12")]rn public static extern int f_add(int a, int b);rnrn private void button2_Click(object sender, System.EventArgs e)rn rn MessageBox.Show(f_add(2, 3).ToString());rn rnrn返回1,正确应该返回5,rnrnrnrnrnrnrnrnrn我的C# WINFORM是.net1.1写的。不允许升级成2.0或以上。rnrnrn分不多。。希望高手相助。。。rnrnrnrn
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview