Autor Beitrag
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 22.06.06 14:56 
Hallo,

ich verwende jetzt eine WinAPI, die laut MSDN erst ab Windows CE 2.1 und jünger läuft. Welche OS-Versionen wären das? XP ja, ME, 98 und 95 nicht. Mir würde es auch schon reichen, wenn ich die Versionsnummern wüsste für:

ausblenden Delphi-Quelltext
1:
2:
3:
  if (Win32Platform=2and //NT-Reihe
     (Win32MajorVersion=5and //WinXP/2000
     (Win32MinorVersion=1then // WinXP
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Do 22.06.06 16:53 
Ähm, die ist schon klar, dass WinCE Windows für PDAs ist?

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 22.06.06 17:00 
Jupp, aber zu der WinAPI die ich nutzte, steht als mindestanforderung nun einmal WinCE (und ein Kommentar, warum es unter ME/98/95 nicht funktioniert, während es unter XP funktioniert ;) ).
Neidhard von Reuental
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 268

XP
BDS 2006 Prof
BeitragVerfasst: Do 22.06.06 17:43 
Wenn Du mit Delphi programmierst wirt es auch nie unter Windows CE funktionieren. Kannst Dir diese Prfüfung also sparen.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 22.06.06 17:51 
:roll: Dann hohle ich eben meine Beweise raus ;): MSDN siehe hier und der Beweis das die API funktioniert siehe hier (die Alpha).
Neidhard von Reuental
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 268

XP
BDS 2006 Prof
BeitragVerfasst: Do 22.06.06 19:32 
Mein Emulator bietet keine WinCE version an, kann es also nicht testen. Hast Du es denn selber schon auf einem Gerät mit WinCE getestet?
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 22.06.06 19:47 
Ne, ich hab nur XP und 95. Mit 98 habe ich heute in der Schule getestet. Die Ergebnisse stimmen mit dem Kompatabilitätsmodus überein.
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Do 22.06.06 20:30 
Bloß weil die API-Funktion unter CE existiert, heißt das nicht, dass dein Programm unter CE läuft. Ist schließlich ein anderer Prozessor. Außerdem haben CE-Programme glaube ich (korrigiert mich wenn ich mich irre) einen anderen Header.
Wenn das steht: WinCE und WinXP, dann läuft es unter CE und höher, also alle PocketPC-Versionen, und unter XP. CE ist eine völlig andere Produktlinie.
Da im MSDN steht WinCE, sollte es auch nur unter CE laufen. Seltsam, wenns unter XP läuft...

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell


Zuletzt bearbeitet von Timosch am Do 22.06.06 20:35, insgesamt 1-mal bearbeitet
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Mi 05.07.06 20:03 
Mhm, ich geb mich geschlagen :mrgreen: . Bei dem MSDN-Suchergebnis habe ich danach ausschau gehalten, wo das W dran ist. Ich hab zwar beim "normalen" vorbeigeguckt, aber naja, bin da nicht weiter drauf eingegangen. Ich hätte vlt. die Bemerkung nicht gleich vergessen sollen *g*.

Zitat:
Unicode

Implemented as FindFirstFileW (Unicode) and FindFirstFileA (ANSI). Note that Unicode support on Windows Me/98/95 requires Microsoft Layer for Unicode.


welche mindestabfrage erfordert das? Denn ich weiß nicht in wie weit NT etc. Unterstützt wird (und Vista ;) ).
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Fr 07.07.06 22:32 
Die W-WinAPI-Funktionen gibt es i.d.R. ab Windows NT (NT, 2000, XP, 2003, Vista, ...). Den Microsoft Layer for Unicode kannst Du vergessen da der die Aufrufe unter Win9x/ME nur auf die A-Versionen der API-Funktionen umbiegt (Da nimmst Du besser die TNTWare-Controlls.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 07.07.06 22:48 
user profile iconBernhard Geyer hat folgendes geschrieben:
Den Microsoft Layer for Unicode kannst Du vergessen da der die Aufrufe unter Win9x/ME nur auf die A-Versionen der API-Funktionen umbiegt (Da nimmst Du besser die TNTWare-Controlls.
Die (externen Controls) nimmt er doch ohnehin besser, wenn er mit Delphi programmiert, weil die VCL auch unter NT ff. kein Unicode kapiert ;-)

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Fr 07.07.06 22:55 
und die TNTs können auch nur da Unicode, wo es Windows auch gut kann, offizell können sie es unter Win9.x gar nicht

_________________
Programmers never die, they just GOSUB without RETURN
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Sa 08.07.06 08:32 
user profile icontommie-lie hat folgendes geschrieben:
Die (externen Controls) nimmt er doch ohnehin besser, wenn er mit Delphi programmiert, weil die VCL auch unter NT ff. kein Unicode kapiert ;-)

Nicht die VCL ist das Problem sondern die von Borland gelieferten WinAPI-Wrapper Komponenten wie TButton, TEdit, .... Wenn es ein Grundsätzliches Problem wäre könnten TNTWare oder die Elpack-Komponenten ja auch kein Unicode. Und das ElPack kann Unicode sogar unter Win9x/ME wo selbst .NET scheidert.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Sa 08.07.06 09:07 
Ich hab mir einfach mal die Abfrage der TNT-Controls angeguckt, welche Abfrage die nehmen. Es war mal wieder zu leicht *g*:

ausblenden Delphi-Quelltext
1:
Win32PlatformIsUnicode := Win32Platform = VER_PLATFORM_WIN32_NT;					
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 08.07.06 13:20 
user profile iconBernhard Geyer hat folgendes geschrieben:
Nicht die VCL ist das Problem sondern die von Borland gelieferten WinAPI-Wrapper Komponenten wie TButton, TEdit, ....
... die Teil der Visual Component Library sind. Richtig, es ist nicht die VCL selbst, es ist der Inhalt der VCL. Die drei Buchstaben sind komplett unschuldig.

Bernhard Geyer hat folgendes geschrieben:
Wenn es ein Grundsätzliches Problem wäre könnten TNTWare oder die Elpack-Komponenten ja auch kein Unicode. Und das ElPack kann Unicode sogar unter Win9x/ME wo selbst .NET scheidert.
Diese Komponenten (insbesondere wohl letztere) benutzen "lediglich" eigene Zeichenroutinen. Von Datentypen wie TCaption können sie dennoch keinen Gebrauch machen, da dieser nunmal ein Ansi-String ist. Klar kann man da UTF8-Zeichen unterbringen, aber dann bräuchte ich ja zusätzlich auch noch allerhand Konvertierungs-Infrastuktur.
Ich weiß nicht wie "tief" TNTControls und ElPack ansetzen, aber ich denke, daß es "sehr tief" ist, denn dort, wo es in der VCL anfängt, grafisch zu werden, hört die Unicode-Unterstützung auf. Ich kann also nicht einfach von TCustomButton ableiten, weil TCustomButton bereits ein Interface definiert, das ausschließlich Ansi spricht.
So kann ich schon nicht von TControl ableiten, weil bereits TControl die Properties Caption und Text mit dem Typ TCaption bereitstellt. Während diese beiden noch Protected sind und ich sie in einer Ableitung durch UCaption und UText ersetzen könnte, ist das Property Hint vom Typ String bereits in TControl published. Diese Sichtbarkeit kriege ich nicht mehr weg und hätte entweder nur einen Ansi-Hint, zwei Hint-Felder (Hint und UHint) parallel, oder msste auf UTF-8 ausweichen, mit der Notwendigkeit zu performanten Konvertierungsmöglichkeiten, weil die meisten Unicode-Systemfunktionen (sprich: alle W-Funktionen) nach wie vor gerne 2Byte-Zeichen hätten und keine 1Byte-Zeichen.
Und mal ehrlich, jede Eingabe und jede Ausgabe vor jeder Operation von UTF-8 nach UTF-16 (oder UCS-2? ich weiß grad' nicht wie die W-Funktionen die Bytes interpretieren) und zurück zu konvertieren ist nicht das, was ich von einem Framework erwarte, das mir Unicode-Fähigkeit bieten soll. Abgesehen davon daß die RTL immer noch nicht sonderlich WideString-freundlich ist, was beispielsweise ein (zum Beispiel bei Funktionsparametern sinnvolles) Reference Counting angeht.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Sa 08.07.06 20:46 
Das Elpack setzt früh an um auch ein Theming zu realisieren das unabhängig vom XP-Theming laufen könnte.

Auch ist es kein Problem publisched Properties neu als Widestring zu veröffentlichen. Als ist der Umweg über UTF8 oder WideProperty nicht nötig. Selbst Unicode-Hints bekommen die Hint (zusätzlich auch noch mit der Möglichkeit der HTML-Formatierung).

Referenzcounting vermisse ich nicht. Selbst bei Ansi-Strings ist es performancetechnisch von Vorteil die nicht veränderlichen Parameter als Const zu definieren. Bei Widestring ist es doppelt von Vorteil.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 08.07.06 21:37 
user profile iconBernhard Geyer hat folgendes geschrieben:
Referenzcounting vermisse ich nicht. Selbst bei Ansi-Strings ist es performancetechnisch von Vorteil die nicht veränderlichen Parameter als Const zu definieren. Bei Widestring ist es doppelt von Vorteil.
Mir ist nicht bekannt, daß es etwas wie const returntype func(sometype param); auch in DelphiLanguage gibt. :gruebel: (mir ist bewusst daß es auch in C(++) keine sinnvolle Möglichkeit für Pascal-ähnliche Compiler Magic gibt, daß also ein "const WideString" als Ergebnistyp kein echter Ersatz wäre)
Außerdem denke ich, daß es noch andere Verwendung für Referenzzählung gibt, zum beispiel bei temporären Puffern bei denen ungewiss ist, ob sie sich im Laufe der Funktion ändern werden oder nicht (manchmal kommt man mit einem const parameter auch nicht weiter, ohne den String zu kopieren).
Danny Thorpe ist/war nicht grundlos der Meinung, daß reference counting ein notwendiges Merkmal von neuen WideStrings sein soll, als es darum ging, sie in einem 64bit-Compiler zusammen mit einer Unicode-VCL "richtig" zu implementieren und nicht aus COM-Kompatibilität als BSTR. Ob sich die Sicht der Dinge zusammen mit dem Inhaber von Delphi geändert haben, weiß ich nicht.

user profile iconBernhard Geyer hat folgendes geschrieben:
Auch ist es kein Problem publisched Properties neu als Widestring zu veröffentlichen. Als ist der Umweg über UTF8 oder WideProperty nicht nötig. Selbst Unicode-Hints bekommen die Hint (zusätzlich auch noch mit der Möglichkeit der HTML-Formatierung).
Mir war nicht bekannt, daß man geerbte Identifiers mit anderer Signatur aber gleichem Namen erneut deklarieren kann.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert