![]() |
Re: | im Hint anzeigen
Habe "meine" alte Version pö a pö auf Richtung "neue" getrimmt bis ich den Schuldigen hatte.
UND!! 42 war die Lösung!! ... ääähhhh naja ... eigentlich WM_USER + 32 ... aber ist ja "knapp" dran. ^^
Delphi-Quellcode:
TTM_ADDTOOL ($0400 + 50) unterscheidet sich bei mir auch noch zur CommCtrl Version(WM_USER + 4) aber der Rest ist gleich.... //WM_USER = $0400
const
TTM_SETTITLE = (WM_USER + 32); EDIT: BTW: Alte Version: TTM_SETTITLE = WM_USER + 32) CommCtrl: TTM_SETTITLE = TTM_SETTITLEW = WM_USER + 33; { wParam = TTI_*, lParam = wchar* szTitle } Hat wohl was mit string, char, widechar, ansichar, ... zu tun. |
Re: | im Hint anzeigen
Zitat:
Dann läuft es auch unter Delphi5. Musste ein paar Konstanten selber definieren und hatte mit WM_User+33 auch so meine optischen Probleme und dachte es liegt an meinen kleinen Anpassungen. |
Re: | im Hint anzeigen
Wie, ihr nutzt in einem Nicht-Unicode-Delphi TTM_SETTITLEW?
komisch, eigentlich sollte dort ja TTM_SETTITLEA verwendet werden, da ja Title ein AnsiString ist :gruebel: |
Re: | im Hint anzeigen
Zitat:
also im Grunde müßte man ja mit deiner Version in D2009 probleme bekommen, da dort ja diese Konstanten auch selber definiert wurden, aber nur für die AnsiVersion und dann dennoch mit PChar gearbeitet wurde, was dann die Konstanten der Wide-Verion benötigt hätte :mrgreen: |
Re: | im Hint anzeigen
TTM_SETTITLEA/W ist in Delphi 5 nicht definiert.
Hatte dann schnell im Source von D2007 geschaut und dort war TTM_SETTITLEW als default definiert. Den Wert dann fälschlicherweise auch bei D5 übernommen. Meinen Fehler hab' ich halt jetzt erst durch die Erkenntnisse hier im Thread bemerkt. Konstanten für D5:
Delphi-Quellcode:
TTS_BALLOON = $40;
TTS_ALWAYSTIP = $01; TTM_SETTITLE = WM_USER + 32; // $0400 + 32 |
Re: | im Hint anzeigen
OK, dann ist das also ein Fehler in Delphi ... bis D2007 sollten ja die A-Versionen als Default strinstehn, da die restlichen APIs auch als AnsiVersion per Default drin sind
TTM_SETTITLEW = PWideChar/WideString/UnicodeString TTM_SETTITLEA = PAnsiChar/AnsiString und in D2009 dann natürlich das W kein Wunder, wenn es nicht geht ... also wenn man versucht einen Ansitext zu verwenden und die Gegenseite es versucht als Unicode zu lesen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz