摘要:
c# 调用Delphi的dll时, 1.如果dll中的函数参数含有var,则c#中要加上ref(引用); 否则,会有提示错误:“尝试读取或写入受保护的内容。这通常指示其他内存已损坏”。 2.如果dll中的参数是THandle类型,在c#中用IntPtr代替。 3.如果dll中的参数是PChar类型,在c#中应该用byte[]代替。 使用网上说的用ref string或StringBuilder代替... 阅读全文
posted @ 2010-12-28 13:52
googlegis
阅读(1296)
评论(0)
推荐(0)
摘要:
回调函数是托管应用程序中可帮助非托管 DLL 函数完成任务的代码。对回调函数的调用将从托管应用程序中,通过一个 DLL 函数,间接地传递给托管实现。在用平台调用调用的多种 DLL 函数中,有些函数要求正确地运行托管代码中的回调函数。本主题将介绍托管函数的元素,并说明如何实现回调函数和从托管代码中调用回调函数。 回调函数基础 要从托管代码中调用大多数 DLL 函数,可创建该函数的托管定义,然后调用该... 阅读全文
posted @ 2010-12-28 12:58
googlegis
阅读(171)
评论(0)
推荐(0)
摘要:
C#回调函数应用示例,形象比喻方法助理解,整理了一个简单的例子来说明回调函数的用法: namespace CallBackFunction { class Program { static void Main(string[] args) { Program prog = new Progr... 阅读全文
posted @ 2010-12-28 11:36
googlegis
阅读(206)
评论(0)
推荐(0)
摘要:
在上一篇blog(工具(Tray Friend):将任何程序,最小化到系统托盘 )中。 使用C#调用了很多非托管的C++代码。 现在就把“C# 调用Dll中非托管C++代码时,函数参数的类型对照”这一问题做一个总结。 用这些关键字进行搜索,网上有不少这样那个的内容,比如下面这几个链接 C# 与 C++ 数据类型对照(后三篇内容一样) http://topic.csdn.net/u/20090928... 阅读全文
posted @ 2010-12-28 11:30
googlegis
阅读(475)
评论(0)
推荐(0)
摘要:
C# 里面这个东西一般指某个委托.其实也可以是接口. delegate void WorkDone(); void Working(WorkDone callBack){ //Working code. //当工作完成的时候执行这个委托. callBack(); } void WorkDoneHandler(){ //Do something other. } void Do(){ W... 阅读全文
posted @ 2010-12-28 11:22
googlegis
阅读(480)
评论(0)
推荐(0)
摘要:
回调函数是应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件。应用程序把回调函数的地址指针告诉DLL,而DLL在适当的时候会调用该函数。回调函数必须遵守事先规定好的参数格式和传递方式,否则DLL一调用它就会引起程序或系统的崩溃。通常情况下,回调函数采用标准WindowsAPI的调用方式,即__stdcall,当然,DLL编制者可以自己定义调用... 阅读全文
posted @ 2010-12-28 11:15
googlegis
阅读(843)
评论(0)
推荐(0)