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 ...
随机推荐
- python之路---04 列表 元组
十七 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(&quo ...
- tp5闭包子查询传参方法
在channel表中查询status,channel_id,channel_name,account_level这些字段,且这些字段的channel_id不在adv_id为$id的表adv_chann ...
- monkey配置及简单报告生成(安卓)
参考网址:http://www.51testing.com/html/72/502872-3709760.html 1.安装jdk,配置环境变量 2.安装sdk(解压后,配置环境变量到path ...
- py-day1-5 python 分割 、 字母大小转换
# partition() 分割为3段 从左往右遇见的第一个开始 test = 'bassaiwoll' v = test.partition('s') print(v) ('ba', 's', 's ...
- SSM整个配置心得
个人整合心得,还望指正
- jQuery实现点赞动态效果
实现动态效果基本上都是用到定时器,修改标签的位置大小颜色属性 <!DOCTYPE html> <html lang="en"> <head> & ...
- 一:elasticsearch常用操作总结
索引 搜索 mapping 分词器 1.创建索引 http://192.168.65.131:9200/smartom_index 2.查看索引: http://192.168.65.131:9200 ...
- mirror op 如果在windows receiver上是黑屏
mirror op 如果在windows receiver上是黑屏,手机上要重启下再打开mirror op.(手机是一加3 安卓7.0)
- C#中全局处理异常方式
using System; using System.Configuration; using System.Text; using System.Windows.Forms; using ZB.Qu ...
- sqlserver触发器执行顺序【未经验证】
exec sp_settriggerorder @triggername = 'tr_customer_1', @order = 'first', @stmttype = 'insert',@name ...