wcl opciói:
wcl -d2 -c -bw -ml -2 fontlist.c
wlinker paramétere:
NAME fontlist.exe
FORMAT WINDOWS
OPTION NODEFAULTLIBS
OPTION NOCASEEXACT
OPTION STACK=16384
OPTION MAP
OPTION VERBOSE
DEBUG WATCOM ALL
FILE fontlist.obj
LIBPATH C:\WATCOM\LIB286
LIBPATH C:\WATCOM\LIB286\WIN
LIBRARY clibl.lib
LIBRARY commdlg.lib
LIBRARY windows.lib
20140120.1140: A callback paraméterezése volt rossz, a 'fontType' paraméter Win16 esetén 'int', Win32/64 esetén 'DWORD'. (Mondjuk az első két paraméter típusa is 'ingadozó', LOGFONT/ENUMLOGFONT/ENUMLOGFONTEXDV, TEXTMETRIC/NEWTEXTMETRIC...)
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 1005 megtekintés
Hozzászólások
Uff, ez durva! Mi a cél ezzel?
- A hozzászóláshoz be kell jelentkezni
Nem tudom, de ez 2014-ben perverz... ;-)
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Sub
- A hozzászóláshoz be kell jelentkezni
A TDW mire panaszkodik?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Alapvetően a Windows NT-re. Lenne még a TD32, de az nem viszi a 16-bites alkalmazást. Az egész kezdete az volt, hogy a dtelnet-ben eltoltam valamit, de csak a 16-bites verzióban van hibajelenség. A gond az EnumFontFamilies callback-jével van, aminek a paraméterezése verziók között különböző. Ha szerencsém van, akkor az olyasféle #define-ok, mint STRICT meg WIN32_LEAN_AND_MEAN segítenek
megtalálni a hibát. Ettől függetlenül jó lenne, ha rájönnék, mit rontottam el az OpenWatcom-mal (és ez még csak nem is az igazi program, csak C. Petzold egyik demoprogramja!) No meg az is érdekelne, hogy miért nem panaszolt az a kevés felhasználó, aki letöltötte? Mert mind csak tévedésből töltötte le a 32/64-bites helyett?
--
zsebHUP-ot használok!
- A hozzászóláshoz be kell jelentkezni
De mi az ordogert nem raksz fel virtualboxban egy dos-t es buveszkedsz azzal? Tenyleg ennyire mazochista vagy?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Már most egy Oracle VM VirtualBox-ban megy egy WindowsXP, mert a host renszer egy 64-bites Windows7, amin semmilyen 16-bites progi nem megy.
Az igazi tényleg egy Windows3.11 telepítése lenne egy emulált gépen... ha másért nem, a nosztalgia kedvéért jó lenne;)
- A hozzászóláshoz be kell jelentkezni
Az még dosbox alatt is megy.
- A hozzászóláshoz be kell jelentkezni
WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE DESCRIBE IT HERE!
Epic.
- A hozzászóláshoz be kell jelentkezni
Mondjuk annyit érdemes megemlíteni, hogy ha az időutazás még nem ért véget, és még mindig WIN16-ra (is) akarunk fordítani, akkor legalább ennyit tegyünk magunkért:
#if !defined (_WIN32)
#ifndef WINVER
#define WINVER 0x030a
#endif
#endif
ugyanis egyes header-ek televannak #if-ekkel és a WINVER-től függően más-más módon prototype-olják például az EnumFont[Families] callback-függvényét... (TEXTMETRIC vs NEWTEXTMETRIC, LOGFONT helyett ENUMLOGFONT...) mintha nem lenne elég a 16/32-bit közötti inkompatibilitás
- A hozzászóláshoz be kell jelentkezni
En inkabb #ifdef _WIN16 -ot csinalnek. Attol, hogy a WIN32 nincs definialva, meg lehet, hogy nem windowsra forditunk.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Hát, elég nagy itt a Káosz Galaktika, de ahol én néztem, ott a _WIN32 megvolt mindenhol, 64-bitesben is (a _WIN64 mellett).
- A hozzászóláshoz be kell jelentkezni
Hint: linuxon, aixen _nincs_ _WIN32 definialva :-)
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ja, hogy így értve... emiatt nem aggódom, mert a kérdéses projekt a Windows API-ra épül...
- A hozzászóláshoz be kell jelentkezni