Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#25

Re: Freigeben -> AV; Bearbeiten -> Nichts weiter

  Alt 28. Feb 2009, 14:59
Hallo Sebastian,
ich vermute es liegt am ehesten an den "Move"-Befehlen. Ich werde mal gucken, in wie fern ich da was rausbekomme.

Okay, ich habe alle "Move"-Befehle manuell implementiert (in TMainList!) und es funktioniert. Wobei nur das "Move" in "MoveContent" aufgerufen wird:
Delphi-Quellcode:
procedure TMainList.MoveContent(const AFrom, ATo, ASize: Integer);
var
  i, ValueCount: Integer;
  ValueBuffer : TVarRecArray;
begin
  // Problemstelle !
  //Move(FValues[AFrom], FValues[ATo], ASize);
  //exit;
  ValueCount := ASize div SizeOf(TVarRec);
  SetLength(ValueBuffer, ValueCount);
  for i := 0 to ValueCount - 1 do
    ValueBuffer[i] := FValues[AFrom + i];

  for i := 0 to ValueCount - 1 do
    FValues[ATo + i] := ValueBuffer[i];
end;
So funktioniert es. Wenn ich aber die Kommentarezeichen entferne, bekomme ich Fehler.

Ich verwende "Move" auch im Add(TVarRecArray) sowie im Assign. Aber wie gesagt, das wird nicht aufgerufen in dieser Konstellation. Ich glaube ich werde das in eine extra "TXList"-Stressunit umbauen.

Aber ist den hier nicht "Move" möglich?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat