Ich habe die folgende Situation: Ein Objekt wird in VB6 mit OCX in Delphi instanziiert. wenn ichVB6 und Delphi - TStringList ist frei von VB
...
Dim x As New spdComponent
Set x = spdComponent.ConverterType (XML)
count = x.item.count
TXT = ""
...
Count korrekt den Wert aller Elemente des TStringList OCX empfängt, aber bald unter der Zeile, wo TXT leer wird, wird der Wert von ‚x.item.cout‘ verloren. Wenn ich in Delphi debugge, was in Wirklichkeit passiert, ist eine TStringList aus dem Speicher freigegeben werden, aber das passiert ohne Sinn (es scheint, dass es einen Interessenkonflikt zwischen Delphi und VB). Suche hier und auf Google, sah ich, dass viele kommentiert nicht mit TStringList aber PChar, es wäre eine angemessenere Art zu arbeiten, aber die Frage bleibt, wie C# 2005 und die gleiche OCX verwenden, ist das Problem nicht tritt ein. (wie in anderen Sprachen, nur in VB 6, so weit).
Nun, ich habe Beweise, dass die VB das Objekt (TStrinList) tötet, weil für ihn das Objekt nicht mehr notwendig ist, aber es tut. Eine seltsame Sache, die passiert ist, wenn ich
count = spdComponent.ConverterType(XML).item.count
Es Arbeit ist, tun alle notwendigen Prozesse ohne Fehler, aber das erste Fall, der Fehler bleibt.
Hat jemand ähnliche Probleme festgestellt?
Danke Jungs, jeder, der mir eine Hand geben kann ... wird
Bitte zeigen die delphi-Code. –
es klingt wie einige Bindung zwischen txt und Ihre Komponente. Setzen Sie dim x als spdComponent "newline" x = neue spdComponent statt dim x als neue spdComponent –