AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi7 mit nur einer Unit Unicode fähig machen

Ein Thema von derMischka · begonnen am 10. Jun 2013 · letzter Beitrag vom 19. Okt 2017
Antwort Antwort
Seite 6 von 6   « Erste     456
somby

Registriert seit: 21. Jun 2016
12 Beiträge
 
#51

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 12. Jul 2016, 16:05
Meine vorerst letzte Version,
bitte melden, wenn Ihr fehler entdeckt.
Gruß somby
Angehängte Dateien
Dateityp: zip oWinApiUnicode.zip (17,3 KB, 22x aufgerufen)
  Mit Zitat antworten Zitat
derMischka

Registriert seit: 21. Jun 2007
Ort: Dresden
25 Beiträge
 
Delphi 7 Professional
 
#52

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 15. Aug 2016, 17:09
Hi Somby,

habe mal meine aktuelle Version mit deiner gemerged.
Ich hoffe, dabei keine Fehler gemacht zu haben.

Als wesentliche Neuerung habe ich CLASS_UNICODE_EXT eingeführt (damit es mit vorher Registrierten Classes keine Probleme gibt).
Des Weiteren sammle ich alle registrierten W-Classes in eine StringList gesammelt.
Beim Finalisieren werden diese explizit unregistered (Hat bei mir DLL-Probleme gelöst).

der Mischka
Angehängte Dateien
Dateityp: zip oWinApiUnicode.zip (18,3 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
somby

Registriert seit: 21. Jun 2016
12 Beiträge
 
#53

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 17. Aug 2016, 10:23
Hallo "derMischka",
schön, dass du wieder mal an der Unit oWinApiUnicode.pas
gearbeitet hast. Zu deiner Version habe ich auch noch
einiges ergänzt:

- TextOut
- PeekMessage
- GetTextExtentExPoint

Beim testen mit einer kyrillischen Bildschirmtastatur
fiel mir auf, dass keine WideChar-Tastencodes ankamen.
Das lag daran, dass Delphi7 in der Klasse TWinControl der
Unit Controls in der Botschaft WM_CHAR die protected Funktion
DoKeyPress aufruft, die wiederum KeyPress aufruft und hier das
WideChar auf Char beschneidet.
Um das zu umgehen, wurde in der Klasse TWinControl die Botschaft
WM_CHAR durch eine Hilfsklasse TChWinControl neu belegt.
Bei der Verwendung von OnKeypress kann, obwohl nur
ein Char übergeben wird, trotzdem das WideChar abgefragt werden:
z.B.:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var UniKey: WideChar absolute Key;
begin
....
end;

Ich nutze oWinApiUnicode schon seit einiger Zeit mit gutem
Erfolg.

Noch eine kleine Bemerkung betrifft meine vielleicht eigenartige
Blockstruktur im Quellcode (begin am ende usw.), z.B.:

if ... then begin
...
end;


Ich nutze diese
Struktur schon seit vielen Jahren mit gutem Erfolg, da diese Struktur im Gegensatz
zu
if ... then
begin
...
end;
eine sehr gute Blocklesbarkeit garantiert. Also bitte nicht ärgern wenn das
für dich und die anderen Nutzer etwas merkwürdig erscheint.

Viele Grüße
Somby
Angehängte Dateien
Dateityp: zip oWinApiUnicode.zip (17,8 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
somby

Registriert seit: 21. Jun 2016
12 Beiträge
 
#54

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 17. Aug 2016, 11:02
Hallo derMischka,
habe noch eine kleine Änderung,
konnte in der Klasse TWinControl die
protected Funktion DoKeyPress direkt überschreiben,
brauchte nicht die Botschaft WM_CHAR anzuzapfen.

Gruß
Somby
Angehängte Dateien
Dateityp: zip oWinApiUnicode.zip (17,7 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
somby

Registriert seit: 21. Jun 2016
12 Beiträge
 
#55

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 17. Aug 2016, 13:25
Hallo "derMischka",
leider funktionieren nach deine Klassenumbenennung
meine MDI-Fenster nicht mehr, gehe wieder zurück auf
alte Version
Gruß
Somby
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
734 Beiträge
 
#56

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 17. Aug 2016, 15:38
Kurze frage: wie wärs mit nem Github-Repo? Hier lässt sich weder der aktuellste stand noch die Änderungen vernünftig tracken.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
querter

Registriert seit: 19. Apr 2008
16 Beiträge
 
#57

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 27. Feb 2017, 18:34
Hallo derMischka & Somby,

was und wie ist denn jetzt der letzte Stand?

Leider scheint sich das Projekt irgendwie "kaputt" eingeschlafen zu sein.

Schade.

Könnte ihr beide ggf. noch einmal gemeinsam "letzte" Anstrengungen an/in Zeit investieren - für ein Final-Version?!

Herzliche Grüße
querter

Geändert von querter (27. Feb 2017 um 18:37 Uhr)
  Mit Zitat antworten Zitat
derMischka

Registriert seit: 21. Jun 2007
Ort: Dresden
25 Beiträge
 
Delphi 7 Professional
 
#58

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 15. Mär 2017, 15:09
Hi,

hier mein letzter Stand von oWinApiUniCode.pas

der Mischka
Angehängte Dateien
Dateityp: zip oWinApiUniCode.zip (20,1 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
derMischka

Registriert seit: 21. Jun 2007
Ort: Dresden
25 Beiträge
 
Delphi 7 Professional
 
#59

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 12. Okt 2017, 14:47
Hi,

mal wieder eine aktuelle Version von oWinApiUniCode.pas

Nun können auch über die Tastatur eingebene Zeichen > high(Char) eingelesen werden.

Ansonsten sind noch ein paar Bugfixes mit eingeflossen.

Viel Spaß damit.

der Mischka
Angehängte Dateien
Dateityp: zip oWinApiUniCode.zip (21,1 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
querter

Registriert seit: 19. Apr 2008
16 Beiträge
 
#60

AW: Delphi7 mit nur einer Unit Unicode fähig machen

  Alt 19. Okt 2017, 20:24
mal wieder eine aktuelle Version von oWinApiUniCode.pas
Hallo der Mischka,

DANKE!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:

Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2017 by Daniel R. Wolf