AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 16:02

Parameter dieser Suchanfrage:

Suche in Thema: Header aus PNG laden
Suche alle Beiträge, die von "Zacherl" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 11 von insges. 11 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Ne, das ist nicht weiter seltsam. Zuerst solltest du mal die Bereichsüberprüfungen anschmeißen. Ich weiß zwar nicht, ob Delphi auch Bereichsüberschreitungen mitbekommt, die z.b. per CopyMemory ausgelöst wurden, aber einen Versuch ist es Wert.
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Ob im Sign Feld immer 'ANIM' steht, kann dir wirklich nur die Doku sagen. Wenn es dir um den Zahlenwert geht, dann ja, der bleibt gleich. Es ist nur eine Frage der Darstellung:
    $4D494E41 = $41 $4E $49 $4D = 'A' 'N' 'I' 'M'

    Erst als 4-Byte Integer bzw. DWORD, dann als 4 einzelne Bytes und dann als 4 einzelne AnsiChars.
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Ja das habe ich befürchtet. Dann hat dein richtiges Projekt irgendwo eine Memory Corruption ausgelöst, die jetzt für unvorhersehbare Seiteneffekte sorgt.
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Ganz simpel:
    if (anih.Sign = $4D494E41) then
    begin
    // Sign = 'ANIM'
    end

    Oder alternativ kannst du Sign auch in deinem Record direkt als array of AnsiChar deklarieren und dann die einzelnen Zeichen vergleichen. Ist vermutlich minimal langsamer, aber dafür besser verständlich.


    Die Idee hatte ich auch grade und habe es getestet: Wirkt sich wie erwartet nur auf den Debugger aus. Die...
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Ob du 'ANIM' jetzt als 4-stelligen ANSI-String, oder als 4-Byte DWORD vorliegen hast, macht im Grunde keinen Unterschied. Am Einfachsten ist es, wenn du anih.Sign einfach mit dem korrekten Zahlenwert (0x4D494E41) vergleichst.


    Deshalb hatte ich ja gefragt, ob er mal diesen Testcode mit der MessageBox direkt an den Anfang der Funktion packen kann. Ich bin auch der Meinung, dass eine Exception...
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Sehr seltsam. Entweder ein Bug in D2010 oder irgendeine seltene Einstellung, die du vorgenommen hast. Naja egal, für dein Problem ja nicht weiter relevant jetzt.
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Was passiert denn, wenn du mal ganz am Anfang der Funktion testweise ein ShowMessage(IntToStr(StrToInt('ANIM'))) machst? Würde mich mal interessieren.



    Wenn der Header tatsächlich immer am Dateiende ist, kannst du ihn ganz einfach so auslesen und dir sowohl das Byte-Array, als auch die komische Schleife sparen:
    FileStream := TFilestream.Create(wsFile ,fmopenread or fmShareDenyNone);
    try...
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Das ist interessant :shock: Was gibt StrToInt('ANIM') denn für einen Wert zurück? Das ist jetzt mal spannend herauszufinden.
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    In meiner Erinnerung hat selbst Delphi 7 beim Aufruf von StrToInt mit ungültiger Zahl schon eine Exception geschmissen. So oder so ist "ANIM" auf jeden Fall keine Zahl, weshalb StrToInt nicht funktionieren kann und in irgendeiner Form fehlschlagen wird.

    Aber nur zur Sicherheit:
    Der Code wird wirklich ausgeführt und du hast auch keinen Exception Handler um den Aufruf, der die Exception ggfls....
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Dann läuft irgendwas gewaltig schief, denn:



    Der Header steht genau in der von dir modellierten Form (TAniHeader) direkt am Anfang der Datei?
  • Forum: Programmieren allgemein

    AW: Header aus PNG laden

      Delphi
      by Zacherl, 23. Mär 2017
    Du liest den Header ja nirgends aus bzw. weißt deinem var Parameter niemals einen Wert zu.

    Außerdem:
    for IntI := Low(ByteArray) to High(ByteArray) do
    begin
    if (ByteArray * 4) = StrToInt('ANIM') then
    Result := True
    end;

    :?:


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Zacherl&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=192148
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz