Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
618 Beiträge
 
Delphi 10.1 Berlin Starter
 
#15

AW: GDI+ Delphi Berlin oder höher

  Alt 15. Aug 2020, 16:36
Ich habe in meiner Bibliothek alle string durch AnsiString, PChar durch PAnsiChar und alle Char durch AnsiChar ersetzt, TstringList bleibt unverändert, und der Compiler meckert bei meinem Testprogramm nicht mehr. Bei Filename habe ich string durch TFilename ersetzt. Jetzt läuft es auch mit dem GDP-Dateien von 2003. Verrenkungen bei string sind also nicht nötig. "Alte Sünden werden nicht vergessen" bei meiner Lösung crasht es bei Bildern vom IPhone, das war und ist immer noch so. Jetzt packt mich der Ehrgeiz auch das will ich lösen.
Delphi-Quellcode:
          else //alle anderen
          with PropItem^ do begin
            Move(Value^, RationalBuff, Length);
            R1:=RationalBuff[0];
            R2:=RationalBuff[1];
            s:=Format('%d/%d',[R1,R2]);
            try
            s1:=ShowID(ShowTagStr, GetMetaDataIDString(id), PropID);
            except
              Result:=s;
              Exit;
            end;
            Result:=Format('%s %s',[s1,s])
          end;
Es geht um PropertyItem^.id, der Debugger zeigt eine Cardinal-Zahl an, wenn es klappt und meldet "nicht verfügbarer Wert", wenn es crasht. Die Routine liefert ein richtiges Result und erst beim Verlassen der Funktion gibt es den Zugriffsfehler.
Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.

Geändert von Willie1 (15. Aug 2020 um 16:39 Uhr)
  Mit Zitat antworten Zitat