//----------------------Delphi------------------- procedure GetSqlData(ASource: PChar; ADest: PChar; ADestSize: Integer); stdcall; var  S: string; begin  if ASource = nil then Exit;  S := Format('%s 路过!',[ASource]);  Move(S[1], ADest^, Min(ADestSize,…
1,问题描述 最近发现vb6调用delphi DLL中的函数并返回字符串时出现问题,有时正常,有时出现?号,有时干脆导致VB程序退出 -- :: 将金额数字转化为可读的语音文字:1转化为1元 ????@ 元 ???? og\SS_log.txt .eP K : 2,原因分析 delphi中函数声明如下: function ss_ConvertMoney2Str(mmje:double): PChar; stdcall; VB6中对应的函数声明如下: Public Declare Function…
Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是Delphi2007以前的版本编译的,则Pchar是Ansi类型:如果Delphi dll是Delphi2009以后的版本编译的,则Pchar是Unicode类型.请看以下实例. Ansi类型: [DllImport("my.dll")] [return: MarshalAs(Unmanage…
delphi dll 源码: library dllres; type char10 = ..] of char; TMydata = packed record id: Integer; name: char10; married: Boolean; salary: Double; end; PMydata = ^TMydata; const RESSTR: ..] of string = ('HELLO', 'COLOR', 'DELPHI', 'shared', 'library'); N…
// CDLLDemo.cpp : 定义 DLL 应用程序的导出函数. // #include "stdafx.h" #include "string.h" #include <stdio.h> #include <time.h> extern "C" __declspec(dllexport) int ParseBaliseMsg2(const unsigned char *pMsgData, char *resTgm,…
前因后果 调用一门锁的dll实现读取酒店IC卡数据,直接用Readme里的方法出错. 函数声明: 一.读卡函数    ************************ Delphi 调用 *************************    * function DLL_Read:PChar;                external 'AnLock_2012.dll'; stdcall;    *********************************************…
新写了一个 Delphi 的 dll 供 C# 程序调用,却发现在使用 Visual Studio 2012 进行调试时,程序会在调用后自动退出. 经过对比,只需要将工程属性中“调试”一页下的“启用 Visual Studio 承载进程" 选项不勾选,即可解决此问题.…
别的没什么,是一定可以调用成功的.但是意外的是,ShowMessage函数在DLL里也可以轻易被调用.此外,Delphi里的var 相当于VC里的引用,需要在函数原型里正确标识,否则传递普通变量甚至常量是不行的. VC++代码: // callDLL.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "windows.h" int ma…
C#调用C++ dll函数,如果返回值为字符串,我们使用string去接收就会报错,因为C++返回的是char*,是个指针,所以c# 要用 IntPtr 来接收. C++: //预编译的标头 .h extern "C" _declspec(dllexport) char* demo(const char* params1, const char* params2); //函数体实现 .cpp extern "C" _declspec(dllexport)char*…
第一章 DLL简单介绍由于在目前的学习工作中,需要用到DLL文件,就学习了下,在这里作个总结.首先装简单介绍下DLL:1,减小可执行文件的大小DLL技术的产生有很大一部分原因是为了减小可执行文件的大小.当操作系统进入Windows时代后,其大小已经达到几十兆乃至几百兆.试想如果还是使用DOS时代的单执行文件体系的话一个可执行文件的大小可能将达到数十兆,这是大家都不能接受的.解决的方法就是采用动态链接技术将一个大的可执行文件分割成许多小的可执行程序.2,实现资源共享这里指的资源共享包括很多方面,最…