AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte WatchKit... (Uhren Baukasten)
Thema durchsuchen
Ansicht
Themen-Optionen

WatchKit... (Uhren Baukasten)

Ein Thema von EWeiss · begonnen am 9. Jun 2018 · letzter Beitrag vom 27. Aug 2018
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

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
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: WatchKit... (Uhren Baukasten)

  Alt 12. Jun 2018, 23:51
Ich fülle den record.
Ist er denn zu dem Zeitpunkt tatsächlich gefüllt? Füge mal ne ShowMessage(deine Daten zum lesen) ans ende der befüllung an, vielleicht greifst Du ja auch da unten mit K aufs falsche Index zu?

gaSprite[ID].fname := Item.objlabel; sollte glaube ich gaSprite[ID].filename := Item.objlabel; sein.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: WatchKit... (Uhren Baukasten)

  Alt 13. Jun 2018, 00:03
Ich fülle den record.
Ist er denn zu dem Zeitpunkt tatsächlich gefüllt?
Du siehst doch das ich diesen Fülle oder? Was steht hier procedure GetArraySprite(ID: Integer); im Code..
Warum sollte er dann also nicht gefüllt sein.

Zitat:
Füge mal ne ShowMessage(deine Daten zum lesen) ans ende der befüllung an
Warum sollte ich das tun wenn ich Debugge sehe ich ob der Record gefüllt ist oder nicht oder?

Zitat:
gaSprite[ID].fname := Item.objlabel; sollte glaube ich gaSprite[ID].filename := Item.objlabel; sein
Nein sollte er nicht.
Denn fName = (Freundlicher Name) ist nicht das gleiche wie der FileName inklusive Pfad.
Ich habe nur nicht alle Daten des record hier veröffentlich sondern nur einen Teil davon.

fname: string;
ist natürlich im record vorhanden.

Zitat:
vielleicht greifst Du ja auch da unten mit K aufs falsche Index zu?
Jep das war's

EDIT:
Ok hab den Fehler gefunden (Immer das gleiche wenn es zu spät wird lässt das Brain nach)
Delphi-Quellcode:
procedure InitArraySprite(ID: Integer; SpriteFileName: string);
begin
  gaSprite[ID - 1].filename := lowercase(SpriteFileName);
  GetArraySprite(ID - 1);
end;
Dynamische Arrays fangen ja bei 0 an musste also die ID dekrementieren.
Mein Record wurde zwar gefüllt aber mit der ID 1 anstatt 0 deshalb war dieser nachher leer.
Danke

gruss

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

n/a Beiträge
 
#4

AW: WatchKit... (Uhren Baukasten)

  Alt 13. Jun 2018, 07:29
Ein Update DragDrop funktioniert hoffe ich
Obiges Archiv ist dafür nötig wegen den Ressourcen.

geh jetzt in die Kiste!


gruss

Geändert von EWeiss (16. Jun 2018 um 23:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: WatchKit... (Uhren Baukasten)

  Alt 13. Jun 2018, 07:59
Dafür das Du Gestern noch meintest das Dein "K" perfekt läuft und meine Aussage Unsinn sei freut es mich das Du den Fehler entdeckt hast. Das ich den "fname" <-> "filename" nicht Wissen konnte lag an vorenthaltener Information
Es ist immer schwer bei Dir was nachzuvollziehen da Du jeden Krümel an Code selbst erstellst, was auch eine Kunst für sich ist, dickes Lob!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: WatchKit... (Uhren Baukasten)

  Alt 13. Jun 2018, 14:46
Dafür das Du Gestern noch meintest das Dein "K" perfekt läuft und meine Aussage Unsinn sei freut es mich das Du den Fehler entdeckt hast.
Jo mit deiner Unterstützung.
Zitat:
Das ich den "fname" <-> "filename" nicht Wissen konnte lag an vorenthaltener Information
Nicht weiter tragisch.
Leider sehe ich das nicht viel Interesse besteht Schade!

gruss

Geändert von EWeiss (13. Jun 2018 um 16:35 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: WatchKit... (Uhren Baukasten)

  Alt 13. Jun 2018, 19:13
Vorschau..
ToolTips und Menu addiert.

gruss

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


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz