一.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疑难问题整理!!!的更多相关文章

  1. 吐血整理 Delphi系列书籍 118本(全)

    Delphi 教程 系列书籍 网友(老帅)整理 001_<Delhpi6数据库设计思想与实践> 002_<Delphi6应用开发指南> 003_<Delphi6开发人员指 ...

  2. 整理delphi及整理原则

    回看delphi使用的人也不多,但一直觉得这门语言挺好的,所以一直在用,在很多方面也给了很多帮助和启示 加上delphi的学习文件也确实比较少,故收集起来也不容易.今日,重新整理一下delphi ,一 ...

  3. Delphi 关键字详解[整理于 "橙子" 的帖子]

    absolute //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var   Str: ];   StrLen: Byte absolute Str; //这个声明指定了变量 ...

  4. delphi中通过http控件上载文件的问题(紧急) 整理的CSDN 帖子

    http控件能不能实现post文件?要求效果就像普通的html中通过表单(form中<INPUT TYPE="FILE" NAME="FILE1" SIZ ...

  5. Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决(对三层的例子配置有帮助)

    Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection.TSQLDataSet.TSQLQuery.TSQLSto ...

  6. 从网上整理的一些delphi字符串加密解密方法

    function Encode(Str: string): string; var //加密 TmpChr: AnsiChar; i, Len: integer; begin Result := St ...

  7. delphi中Webbrowser疑难问题集锦<转>

    1.获得网页中变量值      htm中<script> var currID=123</script>      程序中可以这么调用 id := Form1.WebBrows ...

  8. delphi 四舍五入Round函数【百帖整理】

    在最近版本的Delphi Pascal 编译器中,Round 函数是以 CPU 的 FPU (浮点部件) 处理器为基础的.这种处理器采用了所谓的 "银行家舍入法",即对中间值 (如 ...

  9. Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决

    Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection.TSQLDataSet.TSQLQuery.TSQLSto ...

随机推荐

  1. python之路---04 列表 元组

    十七 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(&quo ...

  2. tp5闭包子查询传参方法

    在channel表中查询status,channel_id,channel_name,account_level这些字段,且这些字段的channel_id不在adv_id为$id的表adv_chann ...

  3. monkey配置及简单报告生成(安卓)

    参考网址:http://www.51testing.com/html/72/502872-3709760.html   1.安装jdk,配置环境变量   2.安装sdk(解压后,配置环境变量到path ...

  4. py-day1-5 python 分割 、 字母大小转换

    # partition() 分割为3段 从左往右遇见的第一个开始 test = 'bassaiwoll' v = test.partition('s') print(v) ('ba', 's', 's ...

  5. SSM整个配置心得

    个人整合心得,还望指正

  6. jQuery实现点赞动态效果

    实现动态效果基本上都是用到定时器,修改标签的位置大小颜色属性 <!DOCTYPE html> <html lang="en"> <head> & ...

  7. 一:elasticsearch常用操作总结

    索引 搜索 mapping 分词器 1.创建索引 http://192.168.65.131:9200/smartom_index 2.查看索引: http://192.168.65.131:9200 ...

  8. mirror op 如果在windows receiver上是黑屏

    mirror op 如果在windows receiver上是黑屏,手机上要重启下再打开mirror op.(手机是一加3 安卓7.0)

  9. C#中全局处理异常方式

    using System; using System.Configuration; using System.Text; using System.Windows.Forms; using ZB.Qu ...

  10. sqlserver触发器执行顺序【未经验证】

    exec sp_settriggerorder @triggername = 'tr_customer_1', @order = 'first', @stmttype = 'insert',@name ...