Einzelnen Beitrag anzeigen

ete

Registriert seit: 17. Mai 2008
4 Beiträge
 
#5

Re: Problem mit lesen von records aus Delphi 4 in Turbo Delp

  Alt 18. Mai 2008, 15:39
Zitat von himitsu:
hast du dein D4 noch? (blöde Frage ... wenn du SizeOf schon getestet hast )
notfalls dort die Daten einlesen und neu (in neuem Format) speichern.


für Records, welche übertragen oder gespeichert werden sollen, macht es sich auch besser, wenn sie entsprechend formatiert werden.
- packed Record
- feste Typengrößen (z.B. LongInt statt Integer)

denn sonst bekommt man zwanksläufig Probleme, wenn sich etwas an der Kompilierung ändert
- 32 Bit <> 64 Bit
- andere Speicherausrichtung
- usw.

insgesammt macht es sich eh gut, den Record mal etwas aufzuräumen:
Delphi-Quellcode:
InitStruct = packed Record
  VersionTcd : String[30]; (* Version der Schaltplandatei *)
  MaxSeite : LongInt; (* Anzahl der Seiten *)
  AnbindungsFarbe : TColor; (* Farbe der Anbindungspunkte *)
  HintergrundFarbe : TColor; (* Bildschirmhintergrundfarbe *)
  RectWahlColor : TColor; (* Farbe des Auswahl Rechtecks *)
  PfadAnzahl : LongInt; (* Anzahl der Pfade pro Seite *)
  KYpos : UU; (* y Lage des Kontaktspiegels *)
  DruckLinienStaerke : LongInt; (* Linienstaerke beim Ausdruck *)
  AnbindungenZeichnen : Boolean; (* Anbindungen werden gezeichnet *)
  EinfuegePunkteZeichnen : Boolean; (* Einfügepunkte werden gezeichnet *)
  JpgSchraffur : Boolean; (* bei true wird Jpg als Schraffur gezeichnet *)
  xyJpg : Boolean; (* Jpg in Rechteck eingepasst *)
  xJpg : Boolean; (* Jpg wird auf x-Maße angepasst *)
  yJpg : Boolean; (* Jpg wird auf y-Maße angepasst *)
  RasterMarkerSize : LongInt; (* Groesse des Raster in Pixel *)
  EinfuegePktMarkerSize : LongInt; (* Größe der Einfügepunkt Marker in Pixel *)
  EinfuegePktMarkerWidth : LongInt; (* Liniendicke Marker Einfuegepunkte *)
  EinfuegePktMarkerColor : TColor; (* Farbe Marker der EinfuegePunkte *)
  KontaktSpiegelColor : TColor; (* Farbe der Kontaktspiegel *)
  KontaktSpiegelWidth : UU; (* Linienstärke Kontaktspiegel *)
  VerweisColor : TColor; (* Farbe der Quer und Rückverweise *)
  VerweisWidth : UU; (* Linienstärke Verweise *)
  vlength : UU; (* Länge der Anbindungspunkte *)
  UText : packed Array[1..20] of String[50];
  ReserveStr : packed Array[1..20] of String[255];
  ReserveInt : packed Array[1..16] of LongInt;
  ReserveDU : packed Array[1..16] of DU;
  ReserveUU : packed Array[1..16] of UU;
  ReserveBit : packed Array[1..16] of Boolean;
  ReserveColor : packed Array[1..16] of TColor;
end;
Ist so ne Art Schaltplanprogramm (Zeichnen von Schaltplänen) und es sind schon ca. 100 Symbole erstellt.
Alle Symbole neu in Turbo Delphi zu erstellen wäre zuviel Arbeit. Dann bleib ich lieber bei Delphi 4.
  Mit Zitat antworten Zitat