私は次のような状況があります: オブジェクトは、Delphi で作成された OCX を使用して VB6 でインスタンス化されます。私がいつ
...
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) を強制終了するという証拠があります。VB にとって、そのオブジェクトはもはや必要ないからです。起こる奇妙なことの1つは、もし私が
count = spdComponent.ConverterType(XML).item.count
必要なすべてのプロセスをエラーなしで実行できますが、最初のケースではエラーがまだ残っています。
誰かが同様の問題に遭遇しましたか?
みんなありがとう、私に手を貸してくれる人は誰でも...感謝します