Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#20

AW: WatchKit... (Uhren Baukasten)

  Alt 12. Jun 2018, 23:32
Wieder so ein blödes Problem.
Mein Record wird wieder mal gelöscht.

Delphi-Quellcode:
  GaSprites = packed record
    ID: Integer;
    objtype: Integer;
    filename: string;
  end;
  TGaSprites = array of GaSprites;
  gaSprite: TGaSprites;

Ich fülle den record.

Delphi-Quellcode:
procedure GetArraySprite(ID: Integer);
var
  Item: TgObj;
begin
  // Ruft alle Details zu einem Sprite-Objekt in einem einzigen Schritt ab.
  gSprKit.GD_GetObjectProperties(ID, Item);
  // Identifikations ID des Sprite Objekt
  gaSprite[ID].ID := ID;
  // Der Objekttyp (Bitmap, Text, Pfeil, Kurve, Rechteck, Ellipse, Polylinie)
  gaSprite[ID].objtype := Item.objtype;
  // Freundlicher Name
  gaSprite[ID].fname := Item.objlabel;
end;
Wenn ich jetzt in meiner Proc den Record vergleichen will ist der Record leer.

Delphi-Quellcode:
for K := 0 to SpriteCount do
begin
  if (gaSprite[K].filename = sDropName) and (gaSprite[K].ID > -1) then
  begin
    Result := DefWindowProc(WinHandle, Msg, wP, lP);
    // Redimensionieren wenn filename gleich ist
    SetLength(gaSprite, K + 1);
    // Window zerstören
    DestroyWindow(WinHandle);
    // Raus hier.. LOL super Kommentar
    exit;
  end;
end;
Warum?
Ich setze das Array nirgendwo zurück..
Nur die Daten im record sind weg.

Das hat dann zur folge das ich mehr als ein UhrBlatt addieren kann.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:52 Uhr)
  Mit Zitat antworten Zitat