首页 文章
  • 43 votes
     answers
     views

    TThreadedQueue不具备多个消费者的能力?

    尝试在单个 生产环境 者多个消费者方案中使用TThreadedQueue(Generics.Collections) . (DELPHI-XE) . 我们的想法是将对象推入队列,让几个工作线程排空队列 . 但它没有按预期工作 . 当两个或多个工作线程调用PopItem时,将从TThreadedQueue抛出访问冲突 . 如果使用临界区序列化对PopItem的调用,则一切正常 . 当然,TThre...
  • 1 votes
     answers
     views

    Delphi XE2 TPointerList用法

    我试图在XE2中编译一些组件时遇到以下问题 . 这些组件没有为XE2准备,但我还是试图编译它们 . 在一个组件中,它被声明为 FList : TList; 使用时,它就像是 SomeVariable := Integer(FList.List^[i]); 它产生“需要指针类型”编译错误 . 我可以像这样纠正它 SomeVariable := Integer(FList.List[i]); 但...
  • 1 votes
     answers
     views

    Tyiast子组件属性到ini文件

    我目前在组件属性的类型转换方面遇到了严重的问题 . 在我的表单上,我有一个名为"scene"的TPanel . 同样在表单上,我有一个创建 TSelection 的按钮,在 TSelection 内创建一个 TImage ,然后将图片加载到该TImage中 . TSelection的名称通过称为"ImgObjName"的TEdit分配 . 然后它将此名称写...
  • 0 votes
     answers
     views

    Delphi XE2使用DecimalRounding_JH1进行舍入

    由于Delphi XE2中存在记录的舍入问题,我们在Embarcadero站点上使用了一个名为DecimalRounding_JH1的特殊舍入单元来实现真正的银行家舍入 . 可在此处找到该单位的链接: DecimalRounding_JH1 使用此单位的DecimalRound函数,其中包含大量小数位数的数字 这是DecimalRounding_JH1单元的舍入例程 . 在我们的示例中,我们使用以...
  • 1 votes
     answers
     views

    ADO - 我可以使用多个连接语句编辑复杂查询的结果吗?

    我正在研究一种数据转换实用程序,它可以将数据从一个主数据库推送到许多不同的数据库 . 该实用程序本身不知道数据如何保存在目标(表结构)中,但我想提供编写SQL语句以使用具有多个连接语句的复杂SQL查询从目标返回数据 . 只要数据采用标准化格式,实用程序就可以识别ADO查询中的(字段名称) . 我想要做的是修改此ADO查询中的实时数据 . 但是,由于有多个连接语句,我不确定是否可以这样做 . 我至少...
  • 36 votes
     answers
     views

    线程关闭期间Win64 Delphi RTL中的内存泄漏?

    很长一段时间我都注意到我的服务器应用程序的Win64版本泄漏了内存 . 虽然Win32版本在相对稳定的内存占用情况下运行良好,但64位版本使用的内存会定期增加 - 可能是20Mb /天,没有任何明显的原因(不用说,FastMM4没有报告任何内存泄漏) . 32位和64位版本的源代码相同 . 该应用程序是围绕Indy TIdTCPServer组件构建的,它是一个连接到数据库的高度多线程服务器,该...
  • 21 votes
     answers
     views

    “现在打包强制字节对齐记录”是什么意思?

    Delphi XE2的新功能包含following . 现在打包强制字节对齐记录如果您有使用打包记录类型的遗留代码,并且想要与外部DLL或C链接,则需要从代码中删除“打包”一词 . packed关键字现在强制字节对齐,而在过去它不一定这样做 . 行为更改与Delphi 2009中的C对齐兼容性更改有关 . 我没有在这一点上挣扎:而在过去,它并不一定会这样做 . 我无法调和的是,压缩总是导致记...
  • 4 votes
     answers
     views

    我如何使用Move程序填充TList <T>元素?

    我需要将存储在一个字节数组中的数据移动到位于TList中的一组记录,但是我收到了这个错误 E2197常量对象不能作为var参数传递 此代码重现了该问题 . uses System.Generics.Collections, System.SysUtils; type TData = record Age : Byte; Id : Integer; end; ...
  • 3 votes
     answers
     views

    Delphi Firebird UDF只返回一个char

    我正在使用Firebird 2.5 . 我正在尝试编写一个Delphi XE2 UDF来从一些输入参数返回一些字符串 . 这是Delphi中的函数: function FormatRasaSingle(var formatRasa : PChar; var aDenumire : PChar; var aCod : PChar; var aSimbol : PChar; var aTulpina...
  • 1 votes
     answers
     views

    尝试向.DLL导出跨单元重载的函数时出现E2276错误

    我一直在将有用的例程收集到一个实用程序单元中,然后我将其编译成.DLL和.DCU,因此我可以选择哪种方法可以方便地访问这些例程 . 例如,我编写了自己的 Lowcase ,它作用于[宽]字符或[宽]字符串以实现明显的功能,奇怪的是Embarcadero没有实现 . 同样,我扩展了 Max 和 Min 来查找数字数组的最大值/最小值 . 在某些情况下,我基本上只是为现有函数提供了一个别名,例如 fu...
  • 0 votes
     answers
     views

    Delphi:在外部控制处理期间形成被动用户界面

    在Delphi表单应用程序中,如何在没有用户输入的情况下获取处理代码,以及如何使用给定的帧速率更新UI? 所讨论的代码是用于测试/测量重负载下组件的并发操作的测试框架,在相同或不同的机器上具有多个进程 . 重点主要放在数据库操作(点对点或基于服务器)和文件系统可靠性/性能方面,尤其是在具有异构客户端操作系统的网络上 . 帧等待外部事件(IPC,文件系统,网络),指示测试运行的开始和停止;在启动信号...
  • 4 votes
     answers
     views

    FStream读取用Delphi的二进制写入器编写的二进制文件

    我在MS Visual Studio 2010 Express中创建一个dll,它使用C中的fstream库加载二进制数据文件(* .mgr扩展名 - &gt;专门用于我公司的应用程序) . 该文件是使用我公司中正在使用Delphi的其他人开发的应用程序创建的 . 他说,前15个字节应该是一些字符,表示文件的创建日期和其他一些东西,如应用程序的版本: “XXXX 2012” . 加载fstream...
  • 1 votes
     answers
     views

    MSXML XPath可以选择属性吗? (UPD:真正的问题是默认的无前缀命名空间)

    我想尝试使用MSXML和XPath解析Excel XML Spreadsheet文件 . https://technet.microsoft.com/en-us/magazine/2006.01.blogtales https://msdn.microsoft.com/en-us/library/aa140066.aspx 它有一个 &lt;Workbook xmlns.... xml...
  • -2 votes
     answers
     views

    Delphi:使用Move进行无效的类型转换

    我正在安装一个旧的组件包TSCap32并使用 Move 命令在多个位置获取错误 Invalid typecast . var pCopiedDib: PChar; ... Move(pOrigDibBmi^, TByteArray(pCopiedDib^)[0], BmiSize); 该单位本身宣称TByteArray如下: type TByteArray = array[0..0]...
  • 0 votes
     answers
     views

    delphi中的数据库用户名和密码

    使用Delphi XE2 . 我有一个数据库,里面有一个名为users的表 . 它有一个user_id字段,用户名字段,密码字段和一个Active字段 . (user_id是标识每个用户的唯一编号... 1,2,3等) . 我正在编写一个数据库软件包,需要用户名和密码才能登录 . (我已经创建了一个登录表单) . 如何让它匹配/检查数据库中的用户名和密码,然后允许用户继续使用该软件?此外,如果...
  • 0 votes
     answers
     views

    Delphi XE2 - 为OSX平台构建项目时没有创建输出文件

    我有一些问题阻止Delphi XE2构建我的OSX平台项目 . 我已经回归基础并创建了一个全新的“Hello World”控制台应用程序项目 . 该程序在Win32平台上编译/构建/运行正常 . 我将OSX添加为项目的新平台,我的远程配置文件配置正确,单击“测试连接”确认它可以看到我的MacBook . 问题是当我激活OSX平台,然后单击“构建”(在“调试”或“释放”下)时,进度窗口将照常显示并且...

热门问题