Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Rund um die LCL und andere Komponenten
Antworten
wp_xyz
Beiträge: 5500
Registriert: Fr 8. Apr 2011, 09:01

Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von wp_xyz »

Nach dem Taggen der Lazarus-Version 5.0 wurde eine Vielzahl von Codestellen entfernt, die als "deprecated" markiert waren. (*) Seitdem können theo's UTF8Tools aus OPM nicht mehr mit der Trunk-IDE (v5.99 jetzt) kompiliert werden. Schuld ist die verwendete Anweisung UTF8CharacterToUnicode, die in UTF8CodepointToUnicode umbenannt werden muss - dann geht's wieder.

theo, wenn du das in der Version auf deiner Seite korrigierst, könnte ich den OPM entsprechend aktualisieren.

----------
(*)
Falls bei jemandem Code plötzlich nicht mehr funktioniert, kann das die Ursache sein. Das häufigste Problem ist wahrscheinlich, dass der Befehl DebugLn nicht mehr gefunden wird. Der war früher in Unit LCLProcs und ist nun schon seit längerem in LazLoggerBase.

Benutzeravatar
theo
Beiträge: 11410
Registriert: Mo 11. Sep 2006, 19:01

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von theo »

wp_xyz hat geschrieben: Do 1. Okt 2026, 01:15 theo, wenn du das in der Version auf deiner Seite korrigierst, könnte ich den OPM entsprechend aktualisieren.
Danke für den Hinweis und für das Aktualisieren des OPM.
Die aktualisierte Version befindet sich am gleichen Ort.

wp_xyz
Beiträge: 5500
Registriert: Fr 8. Apr 2011, 09:01

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von wp_xyz »

Danke, im OPM aktualisiert.

Ich habe dann allerdings versucht, die beiden im Package enthaltenen Demo-Programme zu kompilieren, und erhalte den seltsamen Fehler "win32int.pp(11,65) Error: Can't find unit Win32Int used by Interfaces" (bin auf Windows). Bin ratlos, kann keinen Fehler weder in deinem Package noch in den Demo-Programmen finden.

Benutzeravatar
theo
Beiträge: 11410
Registriert: Mo 11. Sep 2006, 19:01

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von theo »

Danke!
Ich bin selber nicht mehr auf Windows.
Das Ganze ist natürlich schon etwas alt, aber auf Linux funktionieren die Beispiele.
Kannst du mal in die ".lpr schauen, ob da vielleicht etwas weg muss für Windows?

z.B.

Code: Alles auswählen

{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}   
Ich hatte mir das gar nicht mehr angesehen, da es auf Linux keine Probleme gab.

wp_xyz
Beiträge: 5500
Registriert: Fr 8. Apr 2011, 09:01

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von wp_xyz »

Ja, da war ich schon:

Code: Alles auswählen

program project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms
  { you can add units after this }, Unit1; //, LResources, utf8tools;

//{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
{$R *.res}

begin
//  {$I project1.lrs}
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.  
Kein Erfolg...

Noch mysteriöser: Ich habe eine neues leeres Projekt erstellt, und nur utf8tools zu den Requirements hinzugefügt --> derselbe Fehler.

Linux getestet - du hast recht, da geht alles. Habe die Widgetset-Kompatibilitätsliste in der Packagebeschreibung um gtk3, qt5 und qt6 ergänzt.
Zuletzt geändert von wp_xyz am Fr 2. Okt 2026, 12:22, insgesamt 1-mal geändert.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1844
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von fliegermichl »

Das liegt an der unit character.pas. Die gibt es auch nochmal im rtl Source.
Wenn man die Unit im Package umbenennt, compiliert es.

wp_xyz
Beiträge: 5500
Registriert: Fr 8. Apr 2011, 09:01

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von wp_xyz »

Ah, gut beobachtet! theo, kannst du das umbenennen? Trotzdem hat man jetzt die umgekehrte Frage: Warum ging es unter Linux, wo es doch auch die RTL-Unit character gibt?

sstvmaster
Beiträge: 595
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 4.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von sstvmaster »

Eventuell noch Suchreihenfolge der Units und/oder gross/klein Schreibweise?
LG Maik

Windows, Linux
- Lazarus 4.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)

Benutzeravatar
theo
Beiträge: 11410
Registriert: Mo 11. Sep 2006, 19:01

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von theo »

wp_xyz hat geschrieben: Fr 2. Okt 2026, 12:25 Trotzdem hat man jetzt die umgekehrte Frage: Warum ging es unter Linux, wo es doch auch die RTL-Unit character gibt?
Der Unterschied ist wohl, dass die RTL Unit ein grosses "C" verwendet und meine ein Kleines (Character - character).
Windows macht da wohl im Ggs. zu Linux keinen Unterschied.
Aber wieso ging es dann bisher auf Windows? Oder ist das schon länger so?
Ich habe jetzt ja nur UTF8CharacterToUnicode geändert und gar nichts an den Dateinamen oder Unit-Abhängigkeiten?
Meine "character.pas" war vor der RTL Version da und ich habe nie von einem solchen Problem gehört.

Benutzeravatar
theo
Beiträge: 11410
Registriert: Mo 11. Sep 2006, 19:01

Re: Theo's UTF8Tools können in Laz 5.99 nicht mehr kompiliert werden

Beitrag von theo »

So, hab's noch einmal geändert und hochgeladen
Geht es jetzt auf Win?

Antworten