【发布时间】:2012-03-26 18:09:50
【问题描述】:
我有以下情况: 在 VB6 中使用 Delphi 制作的 OCX 实例化一个对象。 当我
...
Dim x As New spdComponent
Set x = spdComponent.ConverterType (XML)
count = x.item.count
TXT = ""
...
Count 正确接收 TStringList OCX 的所有项目的值,但很快下面的行,TXT 变空,'x.item.cout' 的值丢失。 当我在 Delphi 中调试时,实际上发生的是从内存中释放 TStringList,但这毫无意义(似乎 Delphi 和 VB 之间存在利益冲突)。 在这里和google上搜索,我看到很多人评论说不使用TStringList而是使用PChar,这将是一种更合适的工作方式,但问题仍然是使用C#2005和相同的OCX,问题没有发生. (与其他语言一样,目前仅在 VB 6 中)。
嗯,我有证据表明 VB 杀死了对象 (TStrinList),因为对他来说,该对象不再是必需的,但它确实如此。 发生的一件奇怪的事情是,如果我
count = spdComponent.ConverterType(XML).item.count
它的工作,做所有必要的过程没有任何错误,但第一种情况,错误仍然存在。
有没有人遇到过类似的问题?
谢谢各位,谁能帮帮我......将不胜感激
【问题讨论】:
-
它听起来如何在 txt 和您的组件之间进行某种类型的绑定。将 dim x 作为 spdComponent "newline" x = new spdComponent 而不是 dim x as new spdComponent
标签: delphi vb6 ocx tstringlist