Delphi疑难问题整理!!!
一.Dll调用时报错,例如:
TGetResPrice = function(var AName: string; AFileName: string): TResourceRecArray; stdcall;
var
LFunction: TGetResPrice;
调用:
@LFunction := GetProcAddress(LDllHandle, ResPriceLoad_FuncName);
if Assigned(LFunction) then
LResc := LFunction(AName, AFileName);
dll实现:
function GetResPriceInfo(var AName: string; AFileName: string): TResourceRecArray; stdcall;
begin
。。。。。
end;
有可能是参数缺少或不一致,两者必须一致!
二.delphi dll释放报错 FreeLibrary报错
FreeLibrary(LDllHandle);
1.有可能是调用和DLL的两者调用FastMM不一致,一个引用了,另外一个没有引用;
uses
FastMM4,
ExceptionLog,
SysUtils,
Classes,
TableTypes,
CoDialogs,
PriceLoad in '..\Source\PriceLoad.pas';
2.另外一个可能就是两者引用包不一样,Component--Install Packages---勾选Build with runtime packages;
3.另外参数如果是字符串,要主程序和dll都要引用sharemem,在项目文件开头处引用;
4.如果是调用了Com组件,需要
开始处:
CoInitialize(nil);
结尾处:
CoUninitialize;
三.TAppBuilder.CheckDog 提示注册类已经存在:DPR文件引用包的问题
例如:A class named TcxRect already exists
在EXE+DLL架构中,多个使用DEV控件的DLL中出现“A class named TcxRect already exists”错误。
把cxLibraryVCLD7.bpl拷到运行目录下,并且在工程的options中,把cxLibraryVCLD7.bpl加入到runtime packages中,可解决“A class named TcxRect already exists”错误。
类似的错误,一般都是缺少运行时包所致,仔细排查都能解决。
Qd8.exe 加载modArchRptData.dll,在QD8.exe---Component--Install Packages---Build with runtime packages --- 后面添加cxLibraryVCLD7;
四、[Error] Packages 'DTree70' and 'dxEditorsD7' both contain unit ***
项目引用包问题,重复引用了;找到菜单---components--Install Packeages 更改为正确的值:
VCL;RTL;DBRTL;VCLDB;Common;FIB70;TB2K70;TBX70;Berg70;DTree70;IoData;dac70
五.Could not find interface IAppServer in type library
遇到情况:Delphi7---File--new Other---Multitier--Remote data Module
解决方法:没有注册Midas.dll,找到DELPHI7安装目录下的dll,在运行窗口输入:
regsvr32 "C:\Program Files (x86)\Delphi7\Bin\midas.dll"
Delphi疑难问题整理!!!的更多相关文章
- 吐血整理 Delphi系列书籍 118本(全)
Delphi 教程 系列书籍 网友(老帅)整理 001_<Delhpi6数据库设计思想与实践> 002_<Delphi6应用开发指南> 003_<Delphi6开发人员指 ...
- 整理delphi及整理原则
回看delphi使用的人也不多,但一直觉得这门语言挺好的,所以一直在用,在很多方面也给了很多帮助和启示 加上delphi的学习文件也确实比较少,故收集起来也不容易.今日,重新整理一下delphi ,一 ...
- Delphi 关键字详解[整理于 "橙子" 的帖子]
absolute //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var Str: ]; StrLen: Byte absolute Str; //这个声明指定了变量 ...
- delphi中通过http控件上载文件的问题(紧急) 整理的CSDN 帖子
http控件能不能实现post文件?要求效果就像普通的html中通过表单(form中<INPUT TYPE="FILE" NAME="FILE1" SIZ ...
- Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决(对三层的例子配置有帮助)
Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection.TSQLDataSet.TSQLQuery.TSQLSto ...
- 从网上整理的一些delphi字符串加密解密方法
function Encode(Str: string): string; var //加密 TmpChr: AnsiChar; i, Len: integer; begin Result := St ...
- delphi中Webbrowser疑难问题集锦<转>
1.获得网页中变量值 htm中<script> var currID=123</script> 程序中可以这么调用 id := Form1.WebBrows ...
- delphi 四舍五入Round函数【百帖整理】
在最近版本的Delphi Pascal 编译器中,Round 函数是以 CPU 的 FPU (浮点部件) 处理器为基础的.这种处理器采用了所谓的 "银行家舍入法",即对中间值 (如 ...
- Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决
Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection.TSQLDataSet.TSQLQuery.TSQLSto ...
随机推荐
- 使用distillery&&docker 部署phoenix 应用
distillery 发布了2.0 了,有好多的新的功能 config prodiver 进行环境变量的配置 appup tansforms 插件系统,方便在release 构建的时候进行修改 m ...
- Unity API 解析 (陈泉宏著)
1 Application类 2 Camera类 3 GameObject类 4 HideFlags类 5 Mathf类 6 Matrix4x4类 7 Object类 8 Quaternion类 9 ...
- Git SVN Clone 旧项目迁移到 Git 上
Git SVN Clone 旧项目迁移到 Git 上 很久使用的是 SVN,但由于项目重启,想改为 Git. 之前的 SVN 仓库是本地,所以在 git svn clone 一直不成功. 正确的方式: ...
- linux curl 命令的使用
有时候需要内网访问接口地址,使用curl命令,带上-v参数 -v 参数可以显示一次 http 通信的整个过程,包括端口连接和 http request 头信息 curl -v http://172.9 ...
- javascript 对象的原型
往往定义一个函数时,函数内部有关键字this时,就把这个函数当成对象,this相当于python中的self.都是对象中用到的,代表对象本身. js不像python,在函数内部定义的子函数,在每次创建 ...
- Python 变量比较
类型一定转换成一样,比如 float 与 int 比较都会出错,坑了我一个小时
- codeblocks “can't find compiler executable in yourconfigured search ……”
新安装的codeblocks 16.01,安装后打开提示如下,没法用..原因是编译器并没有找对自己安装的 mingw 的安装位置. 解决办法:如下图点击 Auto-detect 之后,会看到位置信息变 ...
- Web Services and C# Enums
Web Service Transparency .NET support for web services is excellent in creating illusion of transpar ...
- vue-clil的快速搭建vue项目
1.npm i vue-cli -g 全局安装 2.vue init webpack myProject 3.cd myProject 4.npm i 稍等片刻 完成运行下一步 5.npm run d ...
- vue element-ui 用checkebox 来模拟选值 1/0
https://jsfiddle.net/57dz2m3s/12/ 复制 粘贴 打开url就可以看到效果