C#的DLL注册为COM,Delphi来调用】的更多相关文章

.net DLL 注册 regasm regasm regasm myTest.dll regasm.exe 打开vs2005自带的工具“Visual Studio 2005命令提示”,输入上述命令 在没有安装vs开发环境的电脑上,必须安装.net framwork环境2.0以上,或根据项目要求安装合适的framwork版本. 不能再普通的cmd命令下执行,找不到命令. 进入普通的cmd窗口 cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 进入这…
Delphi程序调用C#.Net编译的DLL并打开窗体(详解)最近用C#.Net写了一个公用模块, 本以为仅提供给.Net程序使用, 但是领导要求把这些功能提供给旧系统使用, 天啦, 几套旧系统全是Delphi写的, 我不想再重复写一次,于是尝试编译成COM组件提供给Delphi调用.花了一下午研究技术, 结果很满意, 调试通过, 特分享受出来给大家学习. 实现步骤: 1.生成密钥文件用于给程序集强名称签名(必须)sn -k MyKey.snk 2.使用强名称签名的Key编译成类库Tester.…
当发现有多个解决方案引用一个dll时,为了不重复引用所以将.net的一个dll注册到GAC中去. gacutil.exe. 记得使用管理员权限打开 开始菜单-Microsoft Visual Studio 2015 -VS2015 开发人员命令提示,在控制台中输入 gacutil.exe 回车,既可以看到一些参数. 输入:gacutil.exe -i dll路径 原文出自:http://www.cnblogs.com/PurpleCow/archive/2012/02/07/2341960.ht…
从新注册 .DLL  CMD 运行regsvr32  *.dll注册该DLL  或 regsvr32 /s  *.DLL 求证…
J2msi 自己制作的把exe打成安装包简易GUI程序(第二版 带DLL注册) 之前那一版本(http://www.cnblogs.com/rojas/p/4794684.html)没考虑 DLL 注册,这个版本把dll这块加上 同时使用beautifuleyes进行界面美化 ,操作简洁方便,当然功能也简化,没有很复杂的安装图形界面,直接同意协议,选好安装路径即可, 比较傻瓜,但又快捷方便. 使用时需要有Java7,打好的安装包只跟自己需要的运行环境有关(比如你的exe只能在java6以上运行)…
通常来说程序在使用dll的时候,会先去GAC中查找是否有存在合适的dll,然后才会到应用程序下的bin目录去查找: 前几天遇到了一个奇葩问题,web项目工程添加了一个第三方dll的引用,然后把这个第三方的dll注册到了GAC里面,但是web程序在运行时,报错程序集未引用:然后就在bin目录下也copy了一份dll,然后程序就OK了:但是这个情况推翻了上面的逻辑,于是进行了多次测试修改,终于发现,如果在前台页面(aspx页面)中调用了第三方dll中的方法(<%%>的方式调用),则此第三方dll就…
今天项目中需要用C++实现对几个DLL文件的注册,查了许多资料,总结如下: #include <SHLWAPI.H> #pragma region DLL 注册与反注册 add by whl #pragma comment(lib, "Shlwapi.lib") bool RegistryDll(CString& szDllPath) { if (!(PathFileExists(szDllPath) && (!PathIsDirectory(szD…
MSSTDFMT.dll系统文件(附2种MSSTDFMT.dll 注册方法)-系统增强 msstdfmt.dll是微软标准数据格式对象相关动态链接库文件. msstdfmt.dll里面包含了定义好函数,如果系统中没有它,包含相关函数的VB工程不能用.包括其生成的exe文件会出错. 一般提示:class not registered. You need the following file to be installed on your machine.msstdfmt.dll.   解决办法:…
上次写了如何在VC6.0下对Delphi写的COM进行调用,原本想马上写如何在Delphi中调用VC6.0开发的COM时,由于在写事例程序中碰到了个很怪的问题,在我机子上用VC写的接口程序编译能通过.但是调用就会出现问题,(在VC下调用也是一样的出现).但是用Delphi写的接口程序编译后,不管是在VC下还是在Delphi下调用都没有问题.后来我把VC开发的接口程序编译后,拷贝到其它机子上试,怪事,完全没有问题了.总结后才知道是我机子有点问题.我到现在还没有解决为什么在我的机子上不行,在其它机子…
C++调用DLL有两种方法——静态调用和动态调用 标签: dllc++winapinullc 2011-09-09 09:49 11609人阅读 评论(0) 收藏 举报  分类: cpp(30)  [C++]调用DLL有两种方法——静态调用和动态调用(一).静态调用其步骤如下:1.把你的youApp.DLL拷到你目标工程(需调用youApp.DLL的工程)的Debug目录下;2.把你的youApp.lib拷到你目标工程(需调用youApp.DLL的工程)目录下;3.把你的youApp.h(包含输…
源:使用DLL进行不同语言之间的调用 __declspec(dllexport) 是告诉编译器用来导出函数的,在代码中不另作说明了. extern "C" 的意思就是用C的方式来导出函数.为什么要用C的方式来导出呢.因为C++中有重载,编译器会对函数名进行更改,修饰成唯一的函数名.__stdcall 告诉编译器函数调用方式.这点可以参考其他文章,我预计也会在blog中写上一篇关于函数调用方式. extern "C" __declspec(dllexport) int…
Delphi动态调用Java的WebService —— 基于“Axis2发布WebService例子(HelloWorld)” uses ComObj; var WsObject: Variant; reslt:String; name:String; begin try //WsObject:=Unassigned; try WsObject := CreateOleObject('MSOSOAP.SoapClient30'); except WsObject := CreateOleObj…
使用反射(Reflect)获取dll文件中的类型并调用方法 需引用:System.Reflection; 1. 使用反射(Reflect)获取dll文件中的类型并调用方法(入门案例) static void Main(string[] args) { //dll文件路径 string path = @"D:\VS2015Project\001\Computer\bin\Debug\computer.dll"; //加载dll文件 Assembly asm = Assembly.Load…
网上搜了一些DLL的创建.编写.使用的学习资料,感觉比较的凌乱.或是复杂抽象,或是关键地方一笔带过,不是很适合萌新.于是决定还是图文记录一下该过程,尽量精简而又明确. 学习资料: https://docs.unity3d.com/Manual/UsingDLL.html http://www.cnblogs.com/cuishao1985/archive/2009/08/11/1543891.html 创建DLL文件 打开Visual Studio,新建一个项目,选择模板Visual C#的类库…
XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="obj">序列对象</param> /// <param name="filePath">XML文件路径</param> /// <returns>是否成功</returns> public static bool S…
非常实用的东西!过去知道这个方法的话可以解决多少问题啊 首先建立一个C#的DLL工程,写一个类 //Test.csnamespace Test...{public class MyTest...{public string Fun()...{return this.ToString();}}} ,编译 然后在cmd里执行VS的vsvars32.bat设置环境变量,然后执行 regasm cscomtest.dll /tlb:cscomtest.tlb /codebase Microsoft (R…
“生成”->“生成解决方案”或“重新生成解决方案”,在注册时,报错:regisvr32 /r/c " C:\Users\Administrator\Desktop\复件DrvWaterTank\DrvWaterTank\.\Debug\DrvWaterTank.dll" 解决方案:1.修改“属性管理器”->“属性配置”->“连接器”->“常规”->"输出文件",该为“.\Debug\DrvWaterTank.dll”,管理员身份,手动注…
c++ DLL 文件,建议用最简单的c++编辑工具.不会加入很多无关的DLL文件.本人用codeblocks+mingw.不像 VS2010,DLL编译成功,调用的时候会提示缺其他DLL. 系统生成的main.h和main.cpp #ifndef __MAIN_H__ #define __MAIN_H__ #include <windows.h> /* To use this exported function of dll, include this header * in your pro…
DLL一定是要C语言导出的符号,也就是extern “C”. 当然,我们都知道DLL调用分为动态调用和静态调用. 动态调用的一般思想为,先LoadLibrary那个你想加载的DLL,然后通过GetProcAddress这个API获取导出函数的地址,赋值给函数指针就可以调用了,这种方式灵活性更高.所有语言都适用. 静态调用就是一般生成DLL会有个导入库(import library).这个编译器要调用该DLL,用链接静态库的方式链接这个导入库就可以了. 其实Delphi也是用了动态调用的方式,那种…
第一步 打开易语言开发环境(注要求易语言版本 v5.5及以上版本,如果版本太低,请更新到新版本),点击[工具]菜单,进入系统配置界面: 第二步 切换选择夹到[存根]项目,选中"使用用户自定义清单"项目如图: 第三步 打开"Grid++Report6"安装文件夹,最新版本的安装目录如下图第四步 进入mainifest文件夹,如果找不到这个文件夹,请下载最新版的Grid++Report.进入文件夹后,可以看到文件夹中有三个文件,如图 第五步 用记事本打开文件"…
使用方法如下: 方法1: (1).开始菜单->Microsoft Visual Studio 2010 ->Visual Studio Tools->Visual Studio Command Prompt (2010) 命令提示,在控制台中输入 gacutil.exe 回车,既可以看到一些参数. (2).输入:gacutil.exe -i dll路径,就可完成DLL的注册. 注:如果输入gacutil.exe找不到,我的电脑里面安装了VS2010和VS2013,使用此方法失败. 方法2…
http://blog.sina.com.cn/s/blog_693cf1cf0100oyus.html procedure TForm1.form1create(Sender: TObject);varre_id:integer;registerTemp : TRegistry;inputstr,get_id:string;dy,clickedok:boolean;begin dy:=false; //软件是否已到注册期.及是否允许继续使用的标志,当值为FALSE是为允许使用. registe…
http://hi.baidu.com/game_base/item/f617e4136414148889a956ed   本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教. 一:select模型    二:WSAAsyncSelect模型    三:WSAEventSelect模型    四:Overlapped I/O 事件通知模型    五:Overlapped I/O 完成例程模型    六:IOCP模型 老陈有一个在外地工作的女儿…
阿里大于是阿里通信旗下产品,融合了三大运营商的通信能力,提供包括短信.语音.流量直充.私密专线.店铺手机号等个性化服务.每条四分五,价钱还算公道,经老农测试,响应速度非常快,基本上是秒到.官方文档提供了JAVA..NET.PHP.Python.C/C++.NodeJS 等语言的 Demo,唯独没有 Dephi,但这也不能怪马云,毕竟 Delphi 实在太小众了. 最近用 Delphi 写个 App,注册用户需要用到手机短信验证,于是找到的阿里大于,使用 Delphi 7 写了个简单的 Demo…
前一阵子,研究了一段时间的Win32Asm,研究到后来发现Win32的ASM实际上还是和C版的介绍的一样.甚至还封装了一个简版的类似VCL库结构框架的32ASM结构库,不过搞着搞着就没兴趣了,也没继续往下深入,唉!发现年龄越来越大,人也越来越懒. 休息了好长一阵子,在乱七八糟的东西乱弄一堆之后,总算发现了一个能有点用处的东西,于是就欣欣然跑来记录一下日志博客以为备份. 我们都知道在Delphi,VC等这类静态检测形的语言,如果要使用一个函数,必须要先申明一下此函数结构,然后调用的时候,编译器才会…
事情源于有个客户需使用我们C++的中间件动态库来跟设备连接通讯,但是传入以及传出的字符串指针格式都不正确(出现乱码或是被截断),估计是字符编码的问题导致.以下是解决问题的过程: 我们C++中间件动态库的接口函数声明: extern "C" bool __stdcall ExecuteTaskInFile(const char *szTaskID, const char *szInputFile, const char *szOutputFile, bool bSynch); 传入的字符…
ikmv百科介绍 ikvm官网 使用ikvm前需要先安装java. ikvm的使用比较简单,到官网下载ikvm需要的组件,解压后在path中配置 %IKVM_HOME%\bin 在cmd中使用命令 ikvmc -out:test.dll test.jar  可以在当前目录下得到test.dll 在C#项目中引用 ikvm的bin目录下的IKVM.OpenJDK.Core.dll.IKVM.Runtime.dll.IKVM.Runtime.JNI.dll三个dll,然后在项目中添加test.dll…
DLL动态链接库的生成: 首先打开VS2012,新建——项目——Win32控制台应用程序(项目名称:ConsoleApplication1)——空项目 新建一个源文件source.cpp 先用控制台exe配置类型自己定义函数,并通过主函数调试 然后可以通过项目——属性——配置属性——常规——项目默认值——配置类型下 选择动态库(.dll)选项 然后点击Build,会在工程的Debug目录下生成一个DLL文件(ConsoleApplication1.dll) extern "C" _de…
最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考. PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地方使用任何语言来调用这个DLL,不是那种在qt creator里面建一个dll工程,然后再在qt creator里建一个调用该dll的工程的情况(这种示例可参考该链接http://download.c…
原文地址:Example of using JavaScript for Google maps in the Delphi XE6   XE6的TWebBrowser新增了EvaluateJavaScript方法,这个方法,允许我们与TWebBrowser已经加载的的网页进行交互.这太方便了!作者用一个具体的实例,演示如何调用Google map的API.   首先,建立一个网页:   const { Was used sample from } { https://developers.go…