Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Windows Unicode Units gesucht (https://www.delphipraxis.net/50470-windows-unicode-units-gesucht.html)

Luckie 26. Jul 2005 10:23


Windows Unicode Units gesucht
 
Ich suche für meinen Usermanager die UniCode Versionen unter anderem der Units Windows.pas und CommCtrl.pas. Ich kann sie zwar selber editieren, ist aber sehr mühsam und leider habe ich nicht mehr sehr viel Zeit, bis Donnerstag muss die neue Version laufen.

Edit: Google war auch nicht so der Renner.

Sprint 26. Jul 2005 10:47

Re: Windows Unicode Units gesucht
 
Die WinAPI Funktionen sind in der Unit Windows doch auch als Unicode vorhanden.

Alternative: http://sourceforge.net/project/showf...kage_id=139979

alternativer Link: http://jedi-apilib.sourceforge.net/win32api

[edit=Admin]Alternativen Link eingefügt, welcher unabhängig von Versionsnummern der API-Lib ist. Mfg, Daniel[/edit]

Luckie 26. Jul 2005 10:50

Re: Windows Unicode Units gesucht
 
Warum hat mich dann Motzi gestern die Unit CommCtrl umfriemeln lassen? :gruebel:

Sprint 26. Jul 2005 10:56

Re: Windows Unicode Units gesucht
 
Um welche Funktionen geht es denn?

Robert Marquardt 26. Jul 2005 10:58

Re: Windows Unicode Units gesucht
 
Wahrscheinlich weil bei der Jedi-Apilib Olli mitarbeitet ;->

Ich habe teilweise schon Programme geschrieben, die funktionieren egal wie der UNICODE-Schalter steht.
Da muss man nur auf die verwendeten Typen achten.

Luckie 26. Jul 2005 10:59

Re: Windows Unicode Units gesucht
 
Also SetDlgWindowTextW kennt er aber hier haperts:
Delphi-Quellcode:
procedure FillTreeView_Groups(hTV: THandle; const Computer: WideString; Groups: TGroups);
var
  Users                 : TStringArray;
  i, j                  : Integer;
  tvi                   : TTVInsertStructW;
  hr                    : HTREEITEM;
  hParent               : HTREEITEM;
begin
  TreeView_DeleteAllItems(hTV);
  if length(Groups) = 0 then exit;
  SetLength(Users, 0);
  setlength(hWndGroupNodes, length(Groups)); ;
  ZeroMemory(@tvi, sizeof(tvi));
  SendMessage(hTV, WM_SETREDRAW, Integer(False), 0);
  tvi.hParent := nil;
  tvi.hInsertAfter := TVI_ROOT;
  tvi.item.mask := TVIF_TEXT or TVIF_IMAGE or TVIF_SELECTEDIMAGE;
  tvi.item.iImage := 3;
  tvi.item.iSelectedImage := 3;
  tvi.item.pszText := PWideChar(Computer);
  hr := TreeView_InsertItemW(hTV, tvi);
TreeView_InsertItemW kennt er zum Beispiel nicht.

@Robert: Was für ein Schalter? Diesen Unicode Kompilerschalter kenne ich nur von VC her.

NicoDE 26. Jul 2005 11:07

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Luckie
Diesen Unicode Kompilerschalter kenne ich nur von VC her.

Der wird auch von einigen Delphi-Entwicklern verwendet. Allerdings gibt kaum Units, die {$IFDEF UNICODE} verwenden (dürfte wohl daran liegen, dass der Code Style Guide von Borland keine bedingte Kompilierung erlaubt).

Sprint 26. Jul 2005 11:08

Re: Windows Unicode Units gesucht
 
Delphi-Quellcode:
function TreeView_InsertItemW(hWnd: HWND; const lpis: TTVInsertStructW): HTREEITEM;
begin
  Result := HTREEITEM(SendMessageW(hWnd, TVM_INSERTITEM, 0, LPARAM(@lpis)));
end;
nicht getestet!

NicoDE 26. Jul 2005 11:11

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Sprint
nicht getestet!

Es muss TVM_INSERTITEMW (TV_FIRST + 50) lauten.

Luckie 26. Jul 2005 11:13

Re: Windows Unicode Units gesucht
 
Ja, da sich das so hinvbekomme ist klar. Und genau deswegen hab eich nach den Units gefragt, damit ich genau das nicht machgen muss, in jeder Unit rumfriemeln.

Unterstützen die Jedi Units den Schalter? Dann wäre es das, was ich suche.

NicoDE 26. Jul 2005 11:17

Re: Windows Unicode Units gesucht
 
Wenn sich bis morgen keiner meldet, dann würde ich an deiner Stelle (einfach ;)) nur die verwendeten Funktionen in eine eigene Windows-Unit packen (freilich mit UNICODE-Support) - sonst wird das bis Donnerstag nichts...

Luckie 26. Jul 2005 11:22

Re: Windows Unicode Units gesucht
 
Da bin ich schon dabei und motzi hilft mir auch schon. Also Treeview und Listview sind schon Unicode. Jetzt kommen nur die WM_NOTUIFY Nachrichten TVN_SELCHANGING und TVN_SELCHANGED nicht mher an, aber da ist ein anderes Thema. :wall:

Robert Marquardt 26. Jul 2005 11:27

Re: Windows Unicode Units gesucht
 
Ich habe gerade festgestellt das CommCtrl nicht bei der Jedi-Apilib dabei ist.

TreeView_InsertItem ist ein Makro und loest indirekt ueber den UNICODE-Schalter zu den entsprechenden Strukturen auf.
Zusaetzlich ist es noch vom IE abhaengig.

Luckie 26. Jul 2005 11:32

Re: Windows Unicode Units gesucht
 
In C ist es ein Makro, in Delphi eine Funktion.

Olli 27. Jul 2005 12:25

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Robert Marquardt
Wahrscheinlich weil bei der Jedi-Apilib Olli mitarbeitet ;->

Watt? Ist irgendwo ein Fehler drin?

@Luckie: bei http://jedi-apilib.sf.net sind eigentlich so ziemlich alle Win32-Header übersetzt. Wenn etwas fehlt, solltest du uns darauf aufmerksam machen, damit es korrigiert werden kann. Die Units unterstützen zwar bedingte Kompilierung dank einer Inc-Datei, aber eine der beiden verwendeten Inc-Dateien wird wohl aktuell noch nicht in die Units eingebunden.

Es wird übrigens daran gebastelt, daß die Units so wie die Header eingebunden werden können. Also beispielsweise nur die JwaWindows.pas, die dann mit Schaltern die entsprechenden anderen "Units" (dann Includes) einbindet. So wird es eine riesige Datei, welche alles innehat. Ähnlich wie man es unter C vorfindet.

Luckie 27. Jul 2005 12:30

Re: Windows Unicode Units gesucht
 
Sind da auch alle Funktionen als Unicode implementiert oder muss ich da auch noch mal selber Hand anlegen, wie bei Treeview_InsertItemW?

Olli 27. Jul 2005 12:34

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Luckie
Sind da auch alle Funktionen als Unicode implementiert oder muss ich da auch noch mal selber Hand anlegen, wie bei Treeview_InsertItemW?

Sie sollten jeweils als ANSI und Unicode existieren. Wenn nicht, mache uns drauf aufmerksam und es wird korrigiert.

Luckie 27. Jul 2005 12:35

Re: Windows Unicode Units gesucht
 
Ja, das kann aber noch etwas dauern. Spätestens, wenn ich den Usermanager komplett auf Unicode umstelle.

Robert Marquardt 27. Jul 2005 12:36

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Olli
@Luckie: bei http://jedi-apilib.sf.net sind eigentlich so ziemlich alle Win32-Header übersetzt. Wenn etwas fehlt, solltest du uns darauf aufmerksam machen, damit es korrigiert werden kann. Die Units unterstützen zwar bedingte Kompilierung dank einer Inc-Datei, aber eine der beiden verwendeten Inc-Dateien wird wohl aktuell noch nicht in die Units eingebunden.

Ich habe gestern mal mein VS 2005 beta ueberprueft. "Visual Studio 8\VC\PlatformSDK\include" enthaelt 730 .h Files. Es gibt noch viel zu tun.
Vielleicht sollten wir jedi-apilib nochmal von vorne anfangen.

NicoDE 27. Jul 2005 12:40

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Robert Marquardt
Vielleicht sollten wir jedi-apilib nochmal von vorne anfangen.

[ot] Ich wäre dafür (Stand w2k3sp1). [/ot]
(bis Mitte August hätte ich noch Zeit um mitzuhelfen)

Luckie 27. Jul 2005 12:41

Re: Windows Unicode Units gesucht
 
Ähm, könntet ihr eure Projekt absprache bitte in einem andren Thread machen? Das gehört nicht so ganz hier her.

Olli 27. Jul 2005 12:42

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Robert Marquardt
Ich habe gestern mal mein VS 2005 beta ueberprueft. "Visual Studio 8\VC\PlatformSDK\include" enthaelt 730 .h Files. Es gibt noch viel zu tun.
Vielleicht sollten wir jedi-apilib nochmal von vorne anfangen.

:shock: ... bist du verrückt? :mrgreen:

Zumindest sollten wir, wenn wir es umkonzipieren, den Weg über die Includes gehen. Ich werde mich mal dransetzen und ein paar Perlscripte schreiben. Die können wir dann eventuell mißbrauchen. Im besten Falle können wir sie sogar für JDARTH wiederverwenden. Hatte vor 2 Tagen Alan auch das Angebot gemacht JDARTH nach JEDI-Apilib zu verlagern.

Robert Marquardt 27. Jul 2005 13:30

Re: Windows Unicode Units gesucht
 
Macel hat ein paar Tools. Wir sollten aber jetzt privat gehen. Jedi-Mailingliste am besten.

Olli 27. Jul 2005 21:03

Re: Windows Unicode Units gesucht
 
Zitat:

Zitat von Luckie
Ähm, könntet ihr eure Projekt absprache bitte in einem andren Thread machen? Das gehört nicht so ganz hier her.

Machen wir. Übrigens sind diese Projekte für alle Delphianer offen - umso schöner, wenn sich dann jemand wie Nico findet um daran teilzunehmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 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