Einzelnen Beitrag anzeigen

fisipjm

Registriert seit: 28. Okt 2013
298 Beiträge
 
#1

komisches Verhalten mit OleVariant

  Alt 22. Jul 2022, 17:24
Hi,

kann mir jemand dieses komische Verhalten erklären welches ich mit einem kleinen Beispielcode nachgestellt habe.
Ich habe die Funktion auf eine VCL Form mit Button und Edit gelegt und lass mir nach Klick auf den Button das Result ins Edit schreiben.

Delphi-Quellcode:
function TForm1.GetInitIntegerOleVariant: String;
var
  I : Integer;
  Iole : Olevariant;
begin
  varclear(Iole);
  Iole := I;
  Result := iOle;
end;
Ich bin darauf gestoßen, weil mir das Verhalten nämlich in einem Projekt um die Ohren geknallt ist. Laut Definition ist jede Integer Variable nach ihrer Initialisierung 0. Wenn ich sie aber in ein Olevariant werfe und nich über vartostr gehe, sondern direkt in einen String caste, dann kommt beim ersten Aufruf irgendwas wildes raus. Beim 2. Aufruf kommt immer die 0.

Gruß
PJM
  Mit Zitat antworten Zitat