PtrUint auf PChar

Für Fragen von Einsteigern und Programmieranfängern...
PascalDragon
Beiträge: 958
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: PtrUint auf PChar

Beitrag von PascalDragon »

Mathias hat geschrieben: Sa 22. Feb 2025, 08:20 Ich vermute ResNameProc verwendet einen PChar, weil es von C herkommt. C kennt kein Unterschied zwischen Char und Byte, dort ist einfach alles ein Char.
In diesem Fall ist es tatsächlich nicht Char = Byte, was hier ausgenutzt wird. Stattdessen wird PChar bzw. char* in C hier benötigt, um die textuellen Ressourcennamen und -typen abzubilden. Und Werte <= $ffff für den Wert des Zeigers selbst(!) werden für numerische Ressourcennamen und -typen genutzt.
FPC Compiler Entwickler

wennerer
Beiträge: 609
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: PtrUint auf PChar

Beitrag von wennerer »

Hallo,
mich fasziniert immer noch das Programm das ich in den Tiefen des Lazarusverzeichnisses gefunden habe. Dem entsprechend habe ich etwas damit gespielt. Falls sich wer dafür interessiert hab ich es mal angehängt.

Weiß jemand für was die LangId (LanguageID??) gut ist. Ich habe auch mal einen Text als Resource einkompiliert. Könnte ich da für verschiedene Sprachen verschiedene Id's vergeben?
Kann man da irgenwo was nachlesen?

Viele Grüße
Bernd
Dateianhänge
project1.zip
(142.03 KiB) 55-mal heruntergeladen

PascalDragon
Beiträge: 958
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: PtrUint auf PChar

Beitrag von PascalDragon »

wennerer hat geschrieben: Di 25. Feb 2025, 21:45 Weiß jemand für was die LangId (LanguageID??) gut ist. Ich habe auch mal einen Text als Resource einkompiliert. Könnte ich da für verschiedene Sprachen verschiedene Id's vergeben?
Kann man da irgenwo was nachlesen?
Ressourcen sind als ein dreistufiger Baum strukturiert: Typ, Name, Sprache. Normalerweise ist die Sprache einfach nur die neutrale Sprache, aber rein prinzipiell ist es möglich die gleiche Ressource auch für verschiedene Sprachen anzulegen und dann je nach aktueller Sprache die richtige Ressourcen zu verwenden. Delphi nutzt dies zum Beispiel für die Ressourcestrings und MSVCs MFC nutzt dies für sprachspezifische Formulare.
Da FPCs Ressourcen auf den Windows Ressourcen aufbauen unterstützen diese das prinzipiell auch, all zu viel Informationen wirst du dazu zumindest im Zusammenhang mit FPC nicht finden, da dies dort sehr selten bis gar nicht verwendet wird. Du müsstest dich also wenn dann im Delphi oder WinAPI Kontext umschauen und dies dann auf FPC anwenden.
FPC Compiler Entwickler

wennerer
Beiträge: 609
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: PtrUint auf PChar

Beitrag von wennerer »

Vielen Dank für deine Erklärung!

Antworten