问题标签 [delphi-2009]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - TTreeView 的父级更改后释放的 TTreeView 节点句柄?
我有一个非常有趣的问题。
背景
我已经使用 TTreeView 多年,但现在才将它与对接库(来自 AutomatedQA)一起使用。我了解到,当更改 TTreeView 的父级时,会重新创建所有句柄。这是对接库在正常活动期间所做的事情。
我一直在使用 TTreeNode 上的 Data 属性来保存一个对象。我还保留了到对象中 TreeNode 的链接。简而言之,使用 TreeNode,我可以获取对象,也可以从对象中获取 TreeNode。
只要树视图的父级从未更改(自动隐藏和显示窗口),我的应用程序就可以完美运行。
问题
我发现一旦父级发生更改,我附加到树节点的 Data 属性的对象现在包含对错误树节点或过时指针的引用。
我尝试了另一种方式“MyTreeViewContainer.Parent:=SomewhereElse”并观察到同样的问题。
用可能数百个对象重新加载树不会很有效。
我不知道我应该如何解决这个问题。长期以来,我一直能够加载树视图并让对象仍然能够轻松找到彼此。这真的可以打破我使用树视图的好“模式”......
感谢您的帮助!
delphi - 为什么有些数组可以发布而其他数组不能发布?
这里发生了什么?静态数组给出错误,“发布的属性'staticArray'不能是数组类型”但动态数组就可以了吗?我很困惑。任何人都知道这背后的原因,以及我该如何解决它?(不,我不想将我所有的静态数组重新声明为动态数组。它们的大小是有原因的。)
delphi - D2009 更快的 CompareText 实现
我在我的程序中广泛使用哈希映射数据结构。我正在使用 Barry Kelly 在 Codegear 论坛上发布的哈希映射实现。该实现在内部使用 RTL 的 CompareText 函数。分析让我意识到在 SysUtils CompareText 函数上花费了很多时间。
我看了看
并找到了一些更快的 CompareText 实现。不幸的是,它们似乎不适用于 D2009 及其 unicode 字符串。
现在的问题是:是否有类似的更快的版本支持 D2009 字符串?在使用哈希映射时,CompareText 函数似乎被调用了很多(至少在我当前使用的实现中),所以很少的性能改进真的会产生影响。或者那里提供的实现也适用于 unicode 字符串?
delphi - Delphi 2009 和复制内存
我在 Delphi 2009 上测试DelphiModbus 库并没有得到我想要的结果。我认为问题在于 IdModbusClient.pas 上的以下行:
看起来 ReceiveBuffer 被设置为一些垃圾。
缓冲区定义为 TIdBytes(来自 Indy 组件)
ReceiveBuffer 定义为 TCommsBuffer:
iSize 当然是以字节为单位的缓冲区大小。
我想知道这是否与unicode转换有关?
delphi - 在 Delphi 2009 下将字符串保存到磁盘
我有一个像下面这样的结构,需要从磁盘保存和加载。
到目前为止,我已经使用这样的东西来保存结构:
上面的代码在 Delphi 7 下工作。在 D2009 下,当我在短字符串和 Unicode 字符串之间进行分配时,我收到了很多警告消息。到目前为止,我设法在没有任何编译器警告或提示的情况下编写 Delphi 代码,我希望保持这种状态。所以我需要一个优雅的方法是将字符串(Unicode 很好但不是关键)保存到磁盘而不收到警告。
delphi - 通过 http 代理连接 TTcpClient
我如何通过delphi中的http代理服务器连接到服务器?SOCKS5 代理呢?
谷歌没有任何建议!
delphi - 在 Delphi 2009 中显示 PDF 文件的最佳方式是什么
我应该使用什么组件在 Delphi 2009 应用程序中显示 PDF 文件?
编辑:
我一直在使用 Synactis 的PDF 查看器- 一个非常不错的免费 PDF 查看器,但它不支持 Delphi 2009。
所以我需要从产品中设计出来
delphi - 在 D2009 中无法安装在 D7 下工作的组件
我有很多在 D7 下完美运行的组件。我设法通过将它们拖入 Delphi 2009 IDE 来编译和安装它们。但是,当我尝试在项目中使用这些组件时,编译器说它找不到它们的源代码。我可以在哪里输入该库的路径?
解决方案:
我在 Delphi 2009 中拖放了旧的 DPK 文件。然后在项目管理器中选择“构建”,然后选择“安装”。除了使用控件的应用程序看不到它的源之外,一切都运行得很顺利。通过将路径添加到工具-选项-库 Win32 中解决了问题。
感谢所有人,尤其是穆罕默德。
delphi - TDictionary - 无效键
我有这样的代码:
随机我看到 'v := myDict.Items[k];' 上抛出异常 其中说 k 无效。
还有人看到这个吗?