AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Standarddateicodierung

Ein Thema von ringli · begonnen am 5. Mär 2024 · letzter Beitrag vom 6. Mär 2024
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#11

AW: Standarddateicodierung

  Alt 6. Mär 2024, 12:22
Das ist was Anderes.
Es steuert nur wie Strings im Binärstrom gespeichert werden, aus Platzspargründen.
Aber auf das Format der gesamten TextDFM hat diese Funktion keinen Einfluss.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#12

AW: Standarddateicodierung

  Alt 6. Mär 2024, 12:39
Das ist was Anderes.
Es steuert nur wie Strings im Binärstrom gespeichert werden, aus Platzspargründen.
Aber auf das Format der gesamten TextDFM hat diese Funktion keinen Einfluss.
Bist du sicher?
Delphi-Quellcode:
      if UTF8Idents then
        Output.Write(TEncoding.UTF8.GetPreamble[0], 3);
      Output.Write(MemoryStream.Memory^, MemoryStream.Size);
Es lässt sich übrigens ganz leicht verifizieren indem man einer Komponente einen Umlaut-behafteten Namen gibt.

Beim Schreiben von String-Werten wird WriteUTF8Str gar nicht verwendet. Siehe ObjectBinaryToText -> ConvertValue -> case vaWString, vaUTF8String und vaString, vaLString
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#13

AW: Standarddateicodierung

  Alt 6. Mär 2024, 12:55
Zitat:
UTF8Idents := True
Ohhh.

Mir war so, als wenn beim Schreiben des Textes die betreffenden Zeichen dann escapet würden, also als ...'#xx'... stünden, wenn es nicht ins ANSI passt.

Bei uns sind die DFMs eigentlich alle UTF-8 mit BOM, aber bei manchen Dateien im XE und D11 merken wir gelegentlich Unterschiede.
TurtoiseDiff und im Sublime werden die BOM nicht angezeigt ... hat man aber im DiffViewer alle Zeilen reverted, dann bleibt die Datei dennoch als Geändert im ChangesLog ... beim erneuten Anzeigen im Turtoise meckert es dann quasi "keine Unterschiede, außer in der Kodierung".




Im Text ist String = String. Im Binär entscheidet es sich zwischen einer Art ShortString (1-Byte-Length und ANSI), einem Ansi-String oder UTF-8-String, je nach Art und Anzahl der Zeichen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Mär 2024 um 13:00 Uhr)
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
504 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Standarddateicodierung

  Alt 6. Mär 2024, 17:08
Das Problem ist gelöst.

Beim Wert "FileDesciption" in meiner "VersionInfo.rc" war ein Umlaut enthalten. Zusammen mit der Windows UTF-8 Regionaleinstellung ist Delphi dann der Meinung die Dateicodierung immer wieder auf UTF-8 ändern zu müssen.

Umlaut ersetzt und es funktiuoniert wie gewünscht.

Danke für die Rückmeldungen und Denkanstösse.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#15

AW: Standarddateicodierung

  Alt 6. Mär 2024, 17:43
Eine eigene VersionsInfo?
Die delphieigene ist abgeschaltet?

Vor einer Weile war die Ressource in der {project}.res vom {$R *.res}
und jetzt kommt diese Info aus der DPROJ (eventuell auch mehrere/unterschiedliche).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
504 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Standarddateicodierung

  Alt 6. Mär 2024, 18:29
Ja, ich verwende eine eigene Versionsinfo. Ebenfalls ein eigenes Manifest.

Die Delphi eigene Versionsinfo ist deaktiviert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#17

AW: Standarddateicodierung

  Alt 6. Mär 2024, 18:40
Dann frag ich mich aber, warum deine RC auf das Projekt eine Wirkung haben sollte.

Selbst wenn via {$R xxx.res xxx.rc} in der DPR/DPK, wird die von der DPROJ vorher durch den RessourcenCompiler kompiliert, nicht innerhalb der DPR.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
THY4243

Registriert seit: 15. Dez 2012
Ort: München - Untermenzing
40 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Standarddateicodierung

  Alt 6. Mär 2024, 19:26
Die Nutzung eigener Versionierung sogar inkl. Manifest geht schon über via {$R xyz.res xyz.rc} in der DPR/DPK - wir hatten das einmal
https://www.delphipraxis.net/1449426-post7.html
Wichtig dabei ist, dass es kein weiteres {$R *.res} in der dpr gibt.

In der DPROJ steht das dann so:
Code:
...
<ItemGroup>
        <DelphiCompile Include="$(MainSource)">
            <MainSource>MainSource</MainSource>
        </DelphiCompile>
        <RcCompile Include="xyz.rc">
            <Form>xyz.RES</Form>
        </RcCompile>
        <DCCReference ...
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#19

AW: Standarddateicodierung

  Alt 6. Mär 2024, 21:35
Es ist schon möglich mehrere .res Dateien in das Projekt einzubauen. Lediglich ein paar Ressourcetypen, wie z.B. Versions-Info, dürfen nur einmal vorkommen. Wenn du also in den Projektoptionen bei Versionsinformationen in das Projekt übernehmen den Haken entfernst (ggf. bei allen Build-Konfigurationen), dann kannst du deine eigene .res Datei mit der Versions-Info einbinden ohne die IDE-Automatik zu stören und die {$R *.res} kann bleiben. So kann man natürlich auch eigene .res Dateien für weitere Ressourcen (Manifest, Icon) erstellen. Es muss nicht alles in einer .res liegen. So kann man z.B. Versions-Info selber machen, aber Manifest und Icon über die IDE einbinden lassen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#20

AW: Standarddateicodierung

  Alt 6. Mär 2024, 22:45
Wir haben 2 Projekte von 85, da aktiviert sich die Versionsressource immer von selbst, wenn das Projekt gespeichert wird.
Aber das dann steht ja auch was im Compilierlog (falls das einer liest)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:33 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