很久没有提问了,关于c++的DLL在delphi中调用的问题 [问题点数:200分,结帖人lwk_hlj]

Bbs7
本版专家分:12789
结帖率 100%
Bbs7
本版专家分:15677
Bbs7
本版专家分:12789
怎样在C#中调用Delphi6写的DLL
我在编写一个系统时遇到了一个<em>问题</em>,无法在C#中<em>调用</em>Delphi6写的DLL,只因为DLL的参数是string类型的。然后在网上找相关的资料,还是<em>没有</em>结果。经过我的再三琢磨,现在已经解决,特写此文章与大家分享我的喜愉!  Dellphi DLL文件:  ///////////////////////////////////////////////////////////////////  li
Delphi调用C写的dll
一.用C语言写了一个Dll,编译成功。 是一个非常简单的加密算法,代码如下: #include __declspec(<em>dll</em>export) void Encipher(char a[16])    {  int i,len;  int s=1;       len=strlen(a);  for(i=0;i  {   a[i]=a[i]+s;   s=s+2;  }    
Delphi 调用 C++ 回调函数
//输入函数声明 extern "C" __declspec(<em>dll</em>export) int SetRecNotifyProc( void (*TempRecProForPub)(TICanFrame *TempFrame),char *BusName); //实现 int SetRecNotifyProc( void (*TempRecProForPub)(TICanFrame
delphi 调用c/c++函数dll的坑
小知识C++中以&的参数在Delphi必须以const或者var申明,否则会产生错误。WIN32PROJECT1_API void test8(RECT &a) { a.left = 1; a.top = 2; a.right = 3; a.bottom = 4; } 此时参数为 RECT &a,在Delphi中有两种申明方式,各有不同 方式一 var procedur
delphixe3调用C语言开发的dll接口中参数之间数据类型转换及处理
写这篇博客的原因:之前我是用<em>delphi</em>7开发,在<em>调用</em>c版的<em>dll</em>接口时从<em>没有</em>出现过<em>问题</em>,后来升级为<em>delphi</em>xe3版本开发时,出现一些令人头疼的<em>问题</em>,我费了很大劲才解决。 Delphixe3出现如下<em>问题</em>: 举个例子:<em>dll</em>文件接口定义如下 int testDLLfun(unsigned char*a,unsigned long aLen, unsigned char* b, un...
delphi 调用C语言的动态库DLL函数
一、C语言函数原型 1、接口函数定义 函数原型 void card_trans(int com,char * pUpdata,char * pDownData); 返回值为0时,交易成功,非0时为交易失败。 2、<em>调用</em>传入参数定义 传入首地址必须符合结构体pUpdata,传出首地址必须符合结构体pDownData. 结构体pUpdata和pDownData的定义分别如下: typedef str...
Delphi 调用 c编写的动态链接库,结构体指针作为参数
折腾了一天终于把 结构体指针作为在<em>delphi</em>和c动态链接库之间函数参数传递的<em>问题</em>彻底解决了,花了一天时间的主要原因是<em>没有</em>领会参数传递的精髓。现在把c代码和<em>delphi</em>代码粘上来,以供后来者学习参考。 <em>delphi</em>程序代码: unit Unit3; interface uses   Windows, Messages, SysUtils, Variants, Classes, G
Delphi调用C++动态库dll
C++动态库函数     Test.<em>dll</em>文件中有以下函数: extern &quot;C&quot; _declspec(<em>dll</em>export) void TestDLL(double **mArray, double *vArray, int num, double &amp;amp;error);     参数依次为:二维数组、一维数组、整数、浮点数。 Delphi翻译     Delphi中PDouble对应C...
DELPHI中调用DLL的方法和一些注意事项和技巧
原来的文章很多小<em>问题</em>,不过这篇文章不失是一篇DLL学习基础篇文章。(注:文章中的<em>问题</em>未作任何修改)转摘自:http://hanyi.co<em>delphi</em>.com/jiqiao/26.html第一章 为什么要使用动态链接库(DLL)提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常运行和维护升级的重要保证。(举个例子,笔者的Win95 Sys
三种语言对Delphi的dll调用
   近来因为工作的原因,需要写一个Delphi的<em>dll</em>供他人<em>调用</em>,于是写了几个例子,供大家参考。1 。Delphi 的<em>dll</em>: Barcode.<em>dll</em>library Barcode;uses  SysUtils,  Forms,  Windows,  Messages,  Classes,  HisInterfaceDataModUnit in HisInterfaceDataModU
关于delphi在DLL中使用TStyleManager加载皮肤ListView的问题
DLL中的窗体嵌入到主程序的Panel中,一旦使用皮肤后,退出过程中程序全面崩溃,不使用皮肤<em>没有</em>任何的<em>问题</em>,不知道为什么,想着死马当着活马医,找到关键点,加上异常处理算了,自己水平可能有<em>问题</em>,调试到最后竟然跟踪到System.Classes单元的 { Standard window procedure } function StdWndProc(Window: HWND; Message: UI
Delphi通过LoadLibrary调用其他动态库
procedure TFrmrydj.btnJYJJClick(Sender: TObject); type Tfzyb_yjjgl=procedure;stdcall; var LibHandle: THandle; fzyb_yjjgl:Tfzyb_yjjgl; begin try LibHandle := LoadLibrary('zyb_yjjgl....
Delphi中怎么调用VC++创建的动态链接库
Delphi以其独特的面向控件的研发方式、强大的数据库功能、快速的编译技术及简单易学的编程特性,使得他自发布之日起即格外引人注目,许多程式员也因此将他作为最佳选择的研发工具。然而,Delphi在科学计算、低端编程等方面的功能不如VC++。VC++功能强大、齐全,不过整个系统比较复杂、庞大,尤其对于初学者来说比较难学,其用户界面的研发远不如Delphi那样方便、快捷。那么,我们能否将两者的好处结合起
DLL动态库嵌套跨级调用问题
在应用过程中,动态库<em>调用</em>动态库是常见操作。其在理论上可行,实施也相对简单,<em>调用</em>层次关系如下: App主程序---(同目录)---&amp;gt;DLL_A------(同目录)-----&amp;gt;DLL_B&amp;amp;DLL_C 图1 <em>调用</em>层次关系 针对图1所示的应用,应对的方法如下:将DLL_B、DLL_C和DLL_A一起放在主App程序同一目录下即可正常<em>调用</em>。 但是,有时候主控App程序只允许DL...
内存中加载DLL DELPHI版
//从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointer): DWord; function memGetProcAddress(dwLibHandle: DWord; pFunctionName: PChar): Pointer; stdcall; f
c# 调用 delphi 做的DLL文件
<em>delphi</em>:   c#:
如何在Delphi中调用.Net编写的DLL中的函数
    最近因公司群发邮件程式需要给注册一段时间<em>没有</em>激活的用户发激活邮件  邮件中有注册密码 需要还原发给用户 但由于密码加密是用C# 中的TripleDES完成 手头上又<em>没有</em>现成Delphi的实现 时间紧急 现翻译是来不及了 于是经过查资料反复实施 终于成功实现在Delphi中<em>调用</em> C# 封装的DLL中的方法(Function)和过程(Procedure)现把实施步骤写下 以供有需要的XDJM分...
Delphi7程序调用C#写的DLL解决办法(DLL)
近来,因工作需要,必须解决Delphi7写的主程序<em>调用</em>C#写的<em>dll</em>的<em>问题</em>。在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行:     编写C#<em>dll</em>的方法都一样,首先在vs2005中创建一个“类库”项目TestDll, using System.Runtime.InteropServices; namespace TestDll {    public interface I
delphi与C++ dll 之间的数据传输(字符串,数组)
1、<em>delphi</em>向C++ <em>dll</em>中传入字符串 <em>delphi</em>中: TsavePicture= procedure(filename:pansiChar); cdecl; name:PAnsiChar; name:=PAnsiChar(AnsiString('test.jpg')); C++中: MYDLL void GetImage(char* filename); str
原创 DLL编写经验总结(一)使DLL支持多线程
最近用Delphi编写DLL比较多,总结几条经验方便以后回顾。需求背景:DLL接口自身是向主调方提供服务,考虑到主调方的不定性以及响应速度<em>问题</em>,需要支持多线程。实现思路:DLL在初次加载或者被唤醒的时候会<em>调用</em>DLLMain函数(Delphi的Main函数头已被隐藏,实际上就是主文件中的Begin End),触发DLL_Process_Attach事件。可用全局变量DLLProc来处理触发的事件所调...
原创 DLL编程经验(三)各类语言调用Delphi写的DLL
Delphi在接口参数中最长用的字符串参数是PChar,但是在被<em>调用</em>时经常出现各类<em>问题</em>。Delphi2007及其以前版本PChar是Ansi类型,而XE以上版本是Unicode类型。所以在<em>调用</em>之前需要弄清楚是用哪个版本的Delphi写的DLL。VB.Net 在声明时对于Delphi7写的DLL需要声明为Ansi,譬如 : Public Declare Ansi Function MyAdd L...
解决Delphi开发DLL中窗体按钮显示状态不刷新问题.
由于DLL中<em>没有</em>消息循环,需要手动接收消息处理,具体操作如下: 1.在窗体上放置一个Timer1组件, 2.间隔时间为1 3.在Timer1Timer事件中写上一行代码:Application.HandleMessage;   付上我的窗体完整代码: unit untBaseForm; interface uses Windows, Messages, SysUti
java与Delphi写的dll交互
有时候在项目开发的时候难免会和硬件提供的开发包接触,这些开发接口不是c写的就是Delphi写的。 如下是一个Delphi开发的<em>dll</em>,里面以各种接口方法进行java<em>调用</em>测试。大部分映射写法都能够找到。有时间会继续补充。 Delphi7工具下载地址: http://big2.139.xdowns.com/b/BorlandDelphi7.zip汉化包下载地址: ftp://122.227.2...
c#调用Delphi 的DLL控件,传递字符串的解决
在汽车检测软件中,需要<em>调用</em>公安网第三方控件,对方的接口DLL文件是Delphi写的,在经过多次尝试后可以连通。        对方的传输格式为INI文件格式内容,每行必须为回车符换行结尾,在把注册DLL控件的CharSet = CharSet.Auto格式传输时就出错,后来经过
C# 调用Delphi动态库
[DllImport("Service.<em>dll</em>", EntryPoint = "checkLotStatus", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)] Delphi动态库函数中的入参PAnsiChar在C#中使用String类型 Delphi动态库函数中的出参PAnsiChar在C#中使
delphi DLL 调用示例
<em>关于</em>在<em>delphi</em>中<em>调用</em>封装在DLL中的类
C#调用delphi dll接口问题
最近使用C#<em>调用</em><em>delphi</em> <em>dll</em>中的PChar参数接口,结果出现了内存错误。在Stack上找到了答案,转来此处。 Delphi <em>dll</em>中的声明 procedure PasswordDLL(month integer; password pchar); export;C#<em>调用</em>部分的代码 [DllImport( "DelphiPassword.<em>dll</em>", C
c#调用delphi写的dll遇到并解决的问题
c#<em>调用</em><em>delphi</em>写的<em>dll</em>,需要以一级指针、二级指针作为参数传递。
Delphi中调用VC编写的DLL内对象
Delphi以其独特的面向控件的开发方式、强大的数据库功能以及快速的编译技术,使得它自发布起即格外引人注意。随着Delphi 3提供丰富的Internet应用,Delphi日益成为最重要的软件开发工具之一, 它吸引了许多原Visual Basic、Foxpro、dBase甚至C++的程序员,而这些程序员使用Delphi时需要解决的一个重要<em>问题</em>就是怎样利用他们原有的代码。本文将介绍Delphi与C+
没有注册类型"的解决方法">用regasm注册C#的dll时报"没有注册类型"的解决方法
在项目属性-应用程序-程序集信息中勾上"使程序集 COM 可见"
Delphi中动态调用DLL的方法
Delphi中动态<em>调用</em><em>dll</em>的方法如下: function CallFunc(<em>dll</em>name, funcname: string; const param: array of const): DWORD; var hLib: THandle; pFunc: Pointer; intSize: Integer; begin Result := 0; hLib :=
delphi 在DLL中添加窗体
方案一:   在DLL工程中新建一个FORM窗体.在窗体中加入如下代码:   1.首先需要再 implementation 之前声明下以下函数. 1 procedure SynApp(App:THandle);stdcall; 2 3    begin 4 5     Application.Handle := App ;   6 7    end;
Delphi调用C++编写的动态链接库dll的方法
首先我们先看一下普通Delphi<em>调用</em>动态链接库<em>dll</em>的方法: {===================静态<em>调用</em>DLL函数===================} //首先声明这个DLL中的函数,然后就可以直接<em>调用</em>了 function AddNum(Num1,Num2:integer):integer;stdcall;external 'project1.<em>dll</em>' name '
c#中的webservice调用delphi写的dll函数的方法
1 在<em>delphi</em>中把写的函数编绎成<em>dll</em>文件,函数要注意传入传出参数要能被c#可以通用。 例子如下:export两个函数, 参数后面要带: stdcall; export;最后要exports函数名,如果<em>没有</em>下面两句<em>调用</em>时找不到函数会报错。 exports EncryStrHex , DecryStrHex ; begin end. 字符串的传入返回值只能用:PAnsiChar必
delphi 从外部Dll中调用子窗体
<em>delphi</em> 从外部Dll中<em>调用</em>子窗体. <em>关于</em>DLL文件 的<em>调用</em>
DLL调用与释放的一点切身体会
今天在大富翁问有关DLL加载和释放的<em>问题</em>,虽然<em>没有</em>得到答案,却得到一个很好的提示——如何判断DLL已经从内存中释放掉?删除这个DLL看能否成功是个很好的办法。根据这个简单而有效的办法做了很多试验,过程如下。试验的几个方法:(1)静态<em>调用</em>DLLtest1.<em>dll</em>,句柄保存在Th变量中;(2)动态<em>调用</em>DLLtest1.<em>dll</em>,句柄保存在Th1变量中;(3)动态<em>调用</em>DLLtest2.<em>dll</em>,句柄保存
Delphi使用C++库,向库中函数传递回调函数指针的问题解决
Delphi中专用的回调函数是of Object
Delphi Dll插件窗体中遇到的各种问题
最近在公司写一个外壳程序,<em>调用</em>DLL插件把FORM嵌入到EXE中的一个PANEL中,其中遇到了不少的<em>问题</em>,大部分已经解决,还有几个至今<em>没有</em>找到解决方法,有待研究,也希望知道解决方法的富翁共享一下研究成果.   以下列出的<em>问题</em>及解决方法仅针对我写的程序(DLL插件把FORM嵌入到EXE中的一个PANEL中),和自己的解决方法.   从遇到的<em>问题</em>看出,DELPHI封装了太多的东西,有时候直
Delphi XE7调用C++动态库出现乱码问题
事情源于有个客户需使用我们C++的中间件动态库来跟设备连接通讯,但是传入以及传出的字符串指针格式都不正确(出现乱码或是被截断),估计是字符编码的<em>问题</em>导致。以下是解决<em>问题</em>的过程: 我们C++中间件动态库的接口函数声明: extern &amp;amp;amp;amp;quot;C&amp;amp;amp;amp;quot; bool __stdcall ExecuteTaskInFile(const char *szTaskID, const char *szInputFil...
C#的DLL注册为COM,Delphi来调用
非常实用的东西!过去知道这个方法的话可以解决多少<em>问题</em>啊 首先建立一个C#的DLL工程,写一个类 //Test.cs namespace Test ...{ public class MyTest ...{ public string Fun() ...{
Delphi中的DLL封装和调用对象技术
<em>关于</em>Delphi中的Dll封装和<em>调用</em>对象技术的源代码示例
VC调用Delphi制作的动态链接库如何互相传递字符串
1、VC to Delphi Delphi源程序: library ExportChartData;  uses    SysUtils,    Classes;  {$R *.res}  const    DLL_VER      : Word = $0001;  function GetVer: Word;  begin    Result
Delphi 怎么不注册 dll调用 com
一.方法 lich (2003-10-30 22:16:00)  前言: 如果你的程序中使用了 COM对象或者 OCX控件, 发布程序的时候必须带上相关的 DLL文件或者 OCX文件, 同时还需要注册到系统中, 如果我想让我的程序 Copy & Run, 不需要安装,(现在流行绿色软件嘛) 那么使用下面的方法可以<em>调用</em>未注册的 COM对象或者 OCX控件 我仅仅提供简单的
C++写DLL,delphi调用
VS2008中创建DLL工程 文件-&gt;新建-&gt;项目-&gt;visual c++-&gt;win32-&gt;win32控制台应用程序(win32项目也可以) 填写项目名称MyDLL-&gt;确定-&gt;下一步-&gt;DLL(附加选项 对空项目打钩)-&gt;完成。 到这里DLL工程就创建完毕了,下面新建两个文件testDLL.cpp和testDLL.h。 C++ ....
Delphi 类库(DLL)动态调用与静态调用示例讲解
在Delphi或者其它程序中我们经常需要<em>调用</em>别人写好的DLL类库,下面直接上示例代码演示如何进行动态和静态的<em>调用</em>方法:
Delphi调用C# 编写dll动态库
Delphi<em>调用</em>C# 编写<em>dll</em>动态库
pb调用dll实例
--- 动态链接库(Dynamic-Link Library),简称DLL,是基于Windows程序设计的一个非常重要的组成部分。使用DLL有许多优点:(1)使用DLL的动态连接不是将库代码拷贝,只在程序中记录函数的入口点和接口,在程序执行时才将库代码装入内存,如果有多个程序使用相同的DLL,也只需将DLL在内存中装载一次,节省了内存开销。(2)DLL是基于Windows的程序模块,它不仅包含可执行代码,还可以包含数据,各种资源,扩大了库文件的使用范围。(3)对于一个大型的、不断更新的应用程序,可以将许多重复的功能写成DLL,用主程序<em>调用</em>,这样既减少了开发的工作量,又提高了访问速度。(4)DLL丰富了PowerScript语言的编程能力,可以使用PowerScript函数集之外的函数。例如:用户可能编写图象处理系统来浏览文件并将其存放于数据库,该应用需使用浏览器,但用PowerScript语言未提供做这类工作的函数,为了操纵设备,需要与设备本身环境通信,该环境一般是厂商提供的动态链接库。(5)DLL独立于编程语言,大多数WINDOWS编程环境都允许主程序<em>调用</em>DLL中的函数。即可以用VC++、VB、PowerBuilder、Delphi、汇编语言等建立DLL,然后在不同语言编制的应用程序中<em>调用</em>它。下面用一个实例说明通过DLL实现PowerBuilder程序和VC++程序之间的连接。
C#生成DLL以及Delphi调用
DLL(Dynamic Link Library)文件为动态链接库文件。 <em>delphi</em> <em>调用</em>C#生成的<em>dll</em>的方法: 首先生成<em>dll</em>。在C#中创建一个类库,然后敲入代码,完成后点击生成。 然后注册<em>dll</em>。方法1.打开VS自带的命令提示,输入 regasm 路径\名称.<em>dll</em>(取消注册: regasm -u 路径\名称.<em>dll</em>)。方法2.使用vs生成安装文件,然后运行安装文件直接注册。 方法3
Delphi 中三种回调函数形式解析
Delphi 支持三种形式的回调函数:全局函数这种方式几乎是所有的语言都支持的,类的静态函数也可以归为此类,它保存的只是一个函数的代码起始地址指针( Pointer )。在 Delphi 中声明一般为:1TXXX=procedure/function (参数列表);类的成员函数类的成员函数作为回调函数,与全局函数相比,需要关联具体的类的实例,所以它是由两部分组成,一个是对象的实例地址,一个是代码地...
Dll学习一_Dll 创建并动态引用窗体且释放窗体Demo
1、新建Dll工程 2、Dll工程全部代码 library SubMain; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source
Delphi DLL使用接口和调用的方法
Delphi对接口采用引用计数的方法管理对象生命周期,但是DLL中输出的对象可能不是被Delphi<em>调用</em>,其引用计数不一定正确,因此DLL中接口对象的生命周期不由Delphi编译器自动生成的代码管理,而是程序员自己控制,所以上面 的工厂包括构造和解析两个接口对象的生命周期管理方法。 所有接口对象应该集成自下面的接口,而不应该继承自Delphi自带的TInterfacedObject:
c#调用delphi开发的dll的指针参数
在c#中<em>调用</em>DELPH编写的DLL的函数时出现未将对象引用到实例的错误: <em>delphi</em>编写的<em>dll</em>中函数声明:function DeliverfromEsm(var Smtype, Content,Caller:pchar):integer; Content:短信内容或报告(若Smtype为即时消息或离线消息,则Content表示短信内容;否则,Content表示返回的状态报告情况);   C
Delphi 调用dll中的窗体
1. 定义窗体 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) btn1: TButton; procedure b
C#调用DLL之TCHAR xxx[]参数的传递
C++的函数代码为: //得到指定序号的对象名称 //输入参数: nEntityIndex 指定对象的序号(围: 0 - (lmc1_GetEntityCount()-1)) //输出参数: szEntName 对象的名称 typedef int (*LMC1_GETENTITYNAME)(int nEntityIndex,TCHAR szEntName[256]); 由于出现了TCHAR...
Python编程提高:如何调用DLL函数之传递数值、指针与字符串参数
https://baijiahao.baidu.com/s?id=1615259691934668555&amp;amp;wfr=spider&amp;amp;for=pcDLL函数的<em>调用</em>——函数参数为字符串情况例1:如对于下面的函数,返回一个输入字符串的字节长度,其函数C语言的实现代码如下: 在Python中的<em>调用</em>代码如下: 其中,第33行使用c_c...
【java】试用JNA调用Delphi的dll方法。
参考文章:http://hi.baidu.com/zuchang319/blog/item/39e7373cf432d2ca9e3d629f.html 首先对方写给我一个<em>dll</em>的方法。但是最开始的时候对方发送来的是一个string的字符串,对于Delphi而言。String应该是一个指针(这个是我自己猜想的)。 然后我是用一下方法进行<em>调用</em>。 [code=&quot;java&quot;] package ...
很久没有问了,问一个关于文件上传的问题
网页上的那个文件域怎么能限制它看到的文件类型,就象在VB里面浏览文件时的Filter那样,使用户选择时只能看到指定类型的文件,比如只能看到jgp和gif文件!rnrn就是这个标记出来的东西rn大家讨论讨论,据说是不行的!
一个DELPHI程序要调用DLL,而DLL中的函数名,参数个数,参数类型为不定
一个DELPHI程序要<em>调用</em>DLL,而DLL中的函数名,参数个数,参数类型为不定请求思路,一个DELPHI程序要<em>调用</em>DLL,而DLL中的函数名,参数个数,参数类型为不定,要<em>调用</em>的DLL中的函数名、参数个数、参数类型要可以在窗口中Edit中动态输入我的意思就是函数不能在程序中事先定义,因为一切都是不固定的,要根据手工输入的参数个数、参数类型来<em>调用</em>这个函数,有些函数是3个参数,有些函数是4个参数手工
Delphi中DLL两种调用方式的比较
摘要:本文阐述了Windows环境下动态链接库的概念和特点,对静态<em>调用</em>和动态<em>调用</em>两种<em>调用</em>方式作出了比较,并给出了Delphi中应用动态链接库的实例。 一、动态链接库的概念 动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是<em>dll</em>,也有可能是drv、sys和fon,它和
delphi 编写dll返回pchar 类型出现乱码
前段时间 用<em>delphi</em> 为公司开发的<em>dll</em> 当使用pchar 作为返回值时 发现一些语言接收到的数据中包含乱码<em>问题</em>。 应该是返回指针类型是数据出错。 于是在每一个函数返回前 在其返回值后添加 char(0) 做结束字符。 一个char(0)不够 ,就再加一个。 测试pb 中<em>没有</em>再出现次情况了 vb 中接收返回值 需要做一些处理 [c...
C#调用Delphi Dll返回字符串的示例
  //----------------------Delphi-------------------procedure GetSqlData(ASource: PChar; ADest: PChar; ADestSize: Integer); stdcall;var S: string;begin if ASource = nil then Exit; S := Fo
delphi 调用C# DLL程序集
首先:新建类库 右键类库,属性,应用程序,程序集信息,勾选使程序集COM可见(M) 在重新生成新的类库,也就是新的DLL 比如DLL为test.<em>dll</em>,放入C盘根目录 开始--》程序---》Microsoft Visual Studio 2005--》--Visual Studio Tools--》Visual Studio 2005 命令提示 输入regsvr32
如何动态调用DLL中的导出类
动态<em>调用</em>导出函数是常见的做法, 但我如何用qlibrary动态<em>调用</em>导出类呢? dunniu 2011-04-06 10:46 DLL动态链接库是程序复用的重要方式,DLL可以导出函数,使函数被多个程序复用,DLL中的函数实现可以被修改而无需重新编译和连接使用该DLL的应用程序。作为一名面向对象的程序员,希望DLL可以导出类,以便在类的层次上实现复用。
Delphi 中的DLL 封装和调用对象技术
Delphi 中的DLL 封装和<em>调用</em>对象技术本文刊登 2003 年10 月份出版的Dr.Dobbs 软件研发第3 期刘 艺摘 要DLL 是一种应用最为广泛的动态链接技术但是由于在DLL 中封装和<em>调用</em>对象受到对象动态绑定机制的限制使得DLL 在封装对象方面有一定的技术难度导致有些Delphi 程序员误以为DLL 只支持封装函数不支持封装对象本文着重介绍了DLL 中封装和<em>调用</em>对象的原理和思路并结合实
在Delphi中静态调用DLL 引用外部Dll External Dll 导入Dll
 在Delphi中静态<em>调用</em>DLL 引用外部Dll External Dll 导入Dll http://hi.baidu.com/numax/blog/item/3d13eb0fef1159eeaa6457ce.html <em>调用</em>一个DLL比写一个DLL要容易一些。首先给大家介绍的是静态<em>调用</em>方法,稍后将介绍动态<em>调用</em>方法,并就两种方法做一个比较。同样的,我们先举一个静态<em>调用</em>的例子。 u
java 调用 delphi编写的dll
使用JNI(JAVA本地接口)来<em>调用</em><em>dll</em>完成用<em>delphi</em>实现的功能:1. 编写Java类,在类内部静态加载要<em>调用</em>的<em>dll</em>文件,然后给出使用的函数的声明(用native关键字),示例如下:public class CompileDllCaller ...{    static ...{        System.loadLibrary("CompileDllCaller");   
调用DLL未导出函数由参数列表引发的问题
0x00 背景 为了<em>调用</em>一个<em>dll</em>中未导出的函数,首先用IDA分析它的<em>调用</em>约定和参数列表。分析出来的函数声明是这样的: typedef int (__thiscall* FP_SUB)(void *t, int a2, int a3) 然后用一个for循环去<em>调用</em>这个函数,代码逻辑大致如下: void call_stub(void* t, int a2, char a3) { ...
Delphi程序调用C#.Net编译的DLL并打开窗体(详解)
转自: http://www.csframework.com/archive/2/arc-2-20110408-1307.htm Delphi程序<em>调用</em>C#.Net编译的DLL并打开窗体(详解) 最近用C#.Net写了一个公用模块, 本以为仅提供给.Net程序使用, 但是领导要求把这些功能提供给旧系统使用, 天啦, 几套旧系统全是Delphi写的, 我不想再重复写一
Delphi怎样在Dll中使用数据模块DataModule
一、DLL调试方法:      (1)、[ProjectAdd Existing Project...]将DLL和宿主程序(就是使用本DLL的程序)添加到一个工程组中,可以同时调试DLL和宿主程序。      (2)、 [RunParameters...    ]在Host Application中填入宿主程序的完整路径然后选择[    Project|Options.. ]选择Directories/Conditionals页面在Ou
Delphi 关于DLL中使用TThread类或其子类的使用注意事项
使用Loadlibrary()、FreeLibrary(),<em>调用</em>DLL; 若DLL中使用了TThread类或其子类,那么TThread类或其子类不能在DLL中单元文件的finalization或TheExitProc中<em>调用</em>释放,即不能在FreeLibrary时,释放,否则会使FreeLibrary卡死
Delphi生成即调用带窗体的Dll
创建简单的带窗体的Dll:
Delphi调用c++ DLL技术文档
本文档说明了Delphi<em>调用</em>c++ <em>dll</em>的一些技术细节,讲述了如何<em>调用</em>c++的动态链接库接口技术
Delphi从应用程序资源中直接执行dll(不用先把dll存到磁盘上)
http://www.<em>delphi</em>feeds.com/go/f/86025?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+<em>delphi</em>feeds+%28DelphiFeeds.com%29 BTMemoryModule下载地址:http://code.google.com/p/memorymodule/downloads/
Python入门八:Python调用Delphi写的Dll
Delphi版本Delphi 10 SeattleDelphi代码unit Unit1; interface function testint(): integer; stdcall; function testpchar(): PChar; stdcall; implementation function testint(): integer; stdcall; begin resu...
JAVA 通过 JNA 调用 C程序 dll 函数传入中文参数问题
解决JAVA 通过 JNA <em>调用</em> C程序 <em>dll</em> 函数传入中文参数<em>问题</em>
关于DLL包含窗体,LoadLibrary后使用正常,但在FreeLibrary时,出错的问题
由于我写的软件,很多都是要连接不同的服务器, 所以
pb调用动态库一般声明
用pb<em>调用</em>VC编写的动态库,需要在PB中进行声明,声明格式:Function 函数名 (参数列表。。。) Library “动态库名.<em>dll</em>”例如调VC动态库<em>dll</em>a.<em>dll</em>中封装了如下函数:int Add(int a,int b);PB声明为:Function int Add(int a,int b)library “<em>dll</em>a.<em>dll</em>”
如何在java中使用jna.jar调用Delphi写的dll
在工作中,需要使用java<em>调用</em><em>dll</em>文件,已经<em>dll</em>文件放入system32文件夹下. 在<em>调用</em><em>dll</em>时,有些有效,有些报错.请问是什么原因?成功失败的见最下面的java代码中的注释. 我想传一个string进去,返回一个int值.请问如何写代码? <em>dll</em>代码如下: 1 procedure Hello(); stdcall; 2 begin 3 // Writeln
delphi动态调用dll窗体
//声明 TShowForm=Function (AHandle:THandle;ACaption:Pchar):Boolean;Stdcall; //<em>调用</em> procedure TForm1.N5Click(Sender: TObject); var mainfrm,DllForm:THandle; ShowForm:TShowForm; begin
Delphi封装数据操作在Dll中并调用实例
Delphi如何制作DLL,并把数据库的相关操作放在Dll中,在其他程序里直接<em>调用</em>就可以返回数据结果,通过Dll可以达到程序中数据操作的透明性,对初学Dll者会有帮助。
Delphi中如何把函数代码调出主程序,写到“DLL”中并调用
一、开使你的第一个DLL专案 1.File->Close all->File->New[DLL] 代码: //自动产生Code如下 library Project2; //这有段废话 uses SysUtils, Classes; {$R *.RES} begin end. 2.加个Func进来: 代码:
DLL动态链接库的实现及调用(VC++,Delphi)
该压缩包包括:1.动态链接库(DLL)的编译实例,包括_cdecl和stdcall两种常见函数<em>调用</em>约定的实现,并且解决了名字修改<em>问题</em>,在实例代码中有详细的说明!2.针对不同的函数<em>调用</em>约定,以及动态<em>调用</em>DLL库和静态<em>调用</em>DLL库分别提供了<em>调用</em>实例的源代码和程序!3.压缩包中包括VC++<em>调用</em>DLL的实例源码和Delphi<em>调用</em>DLL的实例源码和说明(利用前面VC++生成的DLL)!4.其中VC++<em>调用</em>DLL实例中还简单说明了计算string的长度,比较,大小写转换等功能实现的方法!
delphi编写与调用DLL(delphi7下测试通过)
<em>delphi</em><em>调用</em><em>dll</em>     第一章为什么要使用动态链接库(DLL) top  提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常运行和维护升级的重要保证。(举个例子,笔者的Win95 System目录下尽有500多个DLL文件。)其实,DLL是一种特殊的可执行文件。说它特殊主要是因为一般它都不能直接运行,需要宿主程序比如*.EXE
DLL中的回调函数实现
DLL中的回调函数实现DLL文件中存放的是各类程序的函数实现过程,当程序需要<em>调用</em>函数时需要先载入DLL,然后取得函数地址,最后进行<em>调用</em>。但是有时候我们需要DLL和程序进行通信,将应用程序的某些功能提供给DLL使用,这时就可以使用回调函数。 比如应用程序A<em>调用</em>动态链接库D,同时需要将D中的一些日志信息反馈给A进行处理。这时可以在A中设置写日志的回调函数提供给DLL。 一、<em>调用</em>程序中操作 应用程序提
delphi dll 静态调用和动态调用方法总结
<em>dll</em> <em>调用</em>方法有 静态<em>调用</em>和动态<em>调用</em>两种方法用到的<em>dll</em>为上篇文章所编写的<em>dll</em>.总结如下: Unit Unit1;InterfaceUses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;Type 
使用Delphi调用C++编写的DLL
1、C++编写的DLL代码如下:该Dll的功能比较简单,就是实现一个整数加法;IAddBase 是一个抽象类,IAdd实现了IAddBase的方法,并采用了单例模式;GetAddInstance()为<em>dll</em>对外的接口,返回一个IAdd的对象指针;<em>调用</em>者使用该实例就可以<em>调用</em>Add方法class IAddBase{public:   int virtual __
Delphi字符串 DLL传递字符串方式
由于是半路出家,写起代码来比较随性。每次在写<em>dll</em>传递字符串时需要费很大的劲。 在这里来一个Demo演示一下: <em>dll</em>代码:library <em>dll</em>test1; uses SysUtils, Classes; {$R *.res} procedure fun1(p1: pchar; var p2: pchar); stdcall; var str: string; begin
delphixe7 编写dll中发现的问题s
1.传入application.handle还不能解决mdi窗体的创建<em>问题</em>.最后只能用application来"解决"这个<em>问题</em>.更恶心的是传入了一个form指针. 2.dev Express控件在放入<em>dll</em>后,必须将运行期包编译到<em>dll</em>里面.也就是说<em>dll</em>和宿主程序不能共享devExpress的bpl.求解决方法. 3.原来传入_connection作为共享的链接,后来不成功了(留待以后破解这
MDI程序调用dll中的mdiChildForm例子并从主窗体传值到dll
<em>调用</em><em>dll</em>中的窗体做子窗体,并将主程序中的 record传给<em>dll</em>
delphi7 调用XE编译的DLL遇到的坑
最近遇到一个项目,友商提供的WebServise接口,只能用XE的WSDLIMP导出接口文件。 用<em>delphi</em>7导出来的接口文件死活连接不上。那没办法,只能用XE写个DLL去桥接WebServise接口。 原系统是<em>delphi</em>7写的,所以就有标题所写的用<em>delphi</em>7<em>调用</em>XE编译的<em>dll</em> 这里需要注意以下两点 1 <em>delphi</em>7 的PChar 对应XE的PansiChar 2 delph...
c/c++中_stdcall与dll动态调用
1._stdcall在动态<em>dll</em><em>调用</em>中的注意事项 为了用vc写的<em>dll</em>能被其它语言的写的程序使用,即实现跨语言。我们在<em>dll</em>的函数<em>调用</em>约定中使用__stdcall . 但当用GetProcAddress<em>调用</em>是却失败了. 用dumpbin工具查看导出的函数名可以看到:导出的函数名确实为_mygetGrad@20 所以我们要阻止导出的函数名被编译器修改,方法就是使用de
delphi创建dll供vb通过CreateObject动态调用(图文教程)
创建ActiveX Library 1. File --&amp;gt; New --&amp;gt; Other --&amp;gt; ActiveX --&amp;gt; ActiveX Library 创建Automation Object 1. File --&amp;gt; New --&amp;gt; Other --&amp;gt; ActiveX --&amp;gt; Automation Object 2. 输入类名然后直接点ok保存 3. 设置接口,可以跳过这一步 保存项目 添加接口 1
Delphi 7编写的Webservice生成的DLL部署到IIS上(续)
接上篇,Delphi编写的WebService已经部署在IIS上,下面是在DELPHI中进行<em>调用</em>, 方式有两种:直接<em>调用</em>与使用HTTPRIO控件,步骤如下: 1.在原有的BPG包中新建一个应用程序,命名为WebServiceTS,单元窗体命名为WebServiceDY 2.直接<em>调用</em>,需引用Webservice实现单元文件webServiceDemoImpl,代码如下: proced
delphi DLL 常见问题
字符串参数 前面曾提到过,为了保证DLL参数/返回值传递的正确性,尤其是为C++等其他语言开发的宿主程序使用时,应尽量使用指针或基本类型,因为其他语言与Delphi的变量存储分配方法可能是不一样的。C++中字符才是基本类型,串则是字符型的线形链表。所以最好将string强制转换为Pchar。 如果DLL和宿主程序都用Delphi开发,且使用string(还有动态数组,它们的数据结构类似)作为导
Delphi中dll调用示例
Delphi中具体<em>调用</em><em>dll</em>的例子,最基本的<em>dll</em>文件的<em>调用</em>
delphi的DLL封装MDI子窗体
转自http://www.cnblogs.com/kfarvid/archive/2010/06/23/1763753.html 前天遇到一个疑问:主窗体是fsMDIForm时,<em>调用</em>DLL的窗体不可以嵌入在主窗体中。于是就这个<em>问题</em>,我在网上找了相关资料,并找到答案:DLL封装子窗体。 了解后,使用相同方法在DLL的子窗体再<em>调用</em>另一个DLL窗体也可以。如果需要回传参数,可以通过函数获得。 实例
PHP调用DLL和引用其它的.php文件示例
一、<em>调用</em>第三方的DLL 例: 代码如下: $b=new COM("Comtest.Class2"); $t1=126; $t2=456; $r=$b->add($t1,$t2); $f=$b->about(); echo $r; echo $f; ?> 其中:Comtest为命名空间,Class2为类名,add和about为方法名。   除此之外,<em>调用</em>访问EXCE
delphi从资源加载dlll
如题,找了一圈,试了几次找到了,网上资料都是不全的,需要自己去整理。 1,新建文件Test.rc,在文件添加一行:&quot;MyDll  DLL  Test.<em>dll</em>&quot;.Test.<em>dll</em>是<em>dll</em>文件的名称 2,命令行执行&quot;Brcc32  test.rc&quot;,生成资源文件Test.res. 3,<em>调用</em>:     1)在implementation下面增加{$R Test.res}     2) 在代码中...
RobotFramework自动化测试修炼宝典+源码下载
1、涵盖自动化测试中的大部分场景,内容充实,逻辑严密; 2、作者是RF中文社区的核心力量之一,书中有其对自动化测试的很多思考; 3、本书是一本测试实践书,书中融入了大量的一线测试经验,是人人必备的案头工具书。 相关下载链接:[url=//download.csdn.net/download/qq_25340305/9797542?utm_source=bbsseo]//download.csdn.net/download/qq_25340305/9797542?utm_source=bbsseo[/url]
托动启动并提示 (delphi源代码)下载
1.QQ:513187410 2.保证无毒 3.简单,方便,实用 4.实例可以自行改用 5.如有非法,本人无法律责任,由改动代码人负责! 6.需要更多本人作品,查找标签“朱建强” 7.请下载,杀毒后再使用! 相关下载链接:[url=//download.csdn.net/download/zhujianqiangqq/2163365?utm_source=bbsseo]//download.csdn.net/download/zhujianqiangqq/2163365?utm_source=bbsseo[/url]
学生成绩管理系统源代码下载
解压后运行即可, 里边有dsw文件……可以查看。。 相关下载链接:[url=//download.csdn.net/download/mcgtts/2230711?utm_source=bbsseo]//download.csdn.net/download/mcgtts/2230711?utm_source=bbsseo[/url]
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java中关于线程的学习 数据库中关于课程的表
我们是很有底线的