Hi,
Für Resourcendateien braucht auch einen resourcencompiler...somit bleibt nur die Möglichkeit Datendatei+optionale *.rc
also das mit der Bitmap-Zuweisung zu verwenden halte ich für keine gute Idee. Ich kann nur einen bruchteil der möglichen binärdaten laden und ein temporäre TImage zu erstellen nur um ein Bitmap zu laden...da wär es mir lieber wenn mir jemand sagen kann, wie ich die
dfm-daten direkt dekodieren kann um diese zu speichern.
Es sind eigentlich nur hex-werte und bitmaps gehen bekanntlich mit "42 4D" los, ich kann bei bitmaps auch gleich ab dem "Header" in eine Datei schreiben. aber bei anderen Dateitypen geht das nicht (der header von anderen Typen ist
imho nicht statisch).
Wenn mir jemand sagen kann, wie ich andere Typen in ein dateiformat bekomme, kann ich sowas implementieren bzw. ich kann es erstmal nur für TBitmap implementieren, wenn der Header von TBitmap erkannt wird. Die anderen formate habe trotz mehreren Versuchen nicht hinbekommen (z.B. ico, dib).
Man kann zwar davon ausgehen, dass der TPicture-header (bei TBitmap) folgendermaßen aussieht:
byte 1: länge des enthaltenen Klassennamens (z.B. 07 für TBitmap)
byte 2-x: der klassenname (TBitmap => 54 42 69 74 6D 61 70)
4 variable bytes (die ich noch nicht entschlüsselt habe, wird irgendwie aus größe und farbpalette generiert)
dann das bitmap selbst
bei TIcon fehlen die 4 variablen bytes so dass nur die länge und der klassenname als TPicture-Header drinstehen.
was aber wenn der header fehlt bzw. es sich nicht um bitmap oder ico handelt (z.B. delphiX benutzt Binärfelder zum speichern der Tastenzuweisungen und für dibs)?
Wie ihr seht ist diese Sache nicht ganz ohne ;(

Zitat von
uligerhardt:
Hast du schon mal geschaut, was in TGraphic.DefineProperties abgeht? (Keine Ahnung, ob das jetzt besonders gut zum Thema passt.
da bin ich nicht zu dem punkt gekommen, die daten zu importieren...

Wenn es Jemand weis, kann ers mir gerne verraten.
Imho kann man mit defineProperties nur eigene handler registrieren, welche die daten verwerten. Aber vorhandene mit diesen daten aufzurufen ist mir noch nicht geglückt
Gruß Frank