Rev 414 | Rev 416 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
414 | daniel-mar | 1 | |
415 | daniel-mar | 2 | Windows NT 3.1 and 3.5x compatibility problems |
3 | ---------------------------------------------- |
||
414 | daniel-mar | 4 | |
5 | Fixed problems: |
||
6 | --------------- |
||
7 | |||
8 | - `GetEnvironmentStringsA` and `FreeEnvironmentStrings` not found in WinAPI. |
||
9 | |||
10 | Fixed: The CLib of OpenWatcom 1.9 imports these two functions. |
||
11 | OpenWatcom 2.0 (beta nov 1 2017) calls these functions dynamically and is therefore compatible with Windows NT 3.1. |
||
12 | |||
13 | - `CreateDIBSection` not found in WinAPI |
||
14 | |||
15 | Fixed in SVN Revision 407 (removed because not required). |
||
16 | |||
17 | - `GetVersionEx` not found in WinAPI. |
||
18 | |||
415 | daniel-mar | 19 | Fixed in SVN Revision 411 and 414 (calling dynamically now). |
414 | daniel-mar | 20 | |
21 | - `RegisterClassExA` and `GetClassInfoExA` not found in WinAPI. |
||
22 | |||
23 | Fixed in SVN Revision 412 (replaced by `RegisterClassA` and `GetClassInfoA`). |
||
24 | |||
415 | daniel-mar | 25 | - Plugins created by the custom implementation of `UpdateResourceA` (for Win9x and WinNT<4.0) could not be loaded on |
26 | some versions of Windows, because the Optional PE Header `SizeOfImage` was calculated wrong. |
||
27 | |||
28 | Fixed in SVN Revision 415. |
||
29 | |||
414 | daniel-mar | 30 | Open problems: |
31 | -------------- |
||
32 | |||
33 | - WinNT311: "msctls_trackbar32" is not supported by Windows NT 3.1. DialogBoxParamA crashes with the confusing error code "Invalid Cursor Handle". |
||
34 | Note: msctls_trackbar32 seems to be defined in COMCTL32.DLL, but Win NT 3.1 has no REGSVR32.EXE, so there can't be any controls added?? |
||
35 | For now, we added an error message if the class can't be found (SVN Revision 413). |
||
36 | Windows NT 3.51 has COMCTL32.DLL and works perfectly with the trackbars! |
||
37 | |||
38 | - WinNT311: `LoadImageA` not found in WinAPI of Windows NT 3.1 (this is the last unresolved import!) ... how should we draw it? Filter Factory uses DrawIcon on a BUTTON control (BS_OWNERDRAW | WS_CHILD | WS_CLIPSIBLINGS). |
||
39 | Remove "Hand Question" cursor in order to use the "Static" class instead of the custom class "CautionIcon"? |
||
40 | Windows NT 3.51 has `LoadImageA` and works. |
||
41 | TODO: Make call dynamic, so that Windows NT 3.1 can show at least an error message instead of failing silently. |
||
42 | |||
43 | - If hand cursor is not existing in Windows, then use a handpointer located in the resources. |
||
44 | |||
45 | - WinNT311: Icons (+, - and exclamation sign) graphics are broken (probably need low colored icons?) |
||
46 | |||
47 | - Icons (+, - and exclamation sign) are drawn too big (Windows NT 3.1, and also Windows NT 3.51) |
||
48 | They are STATIC with SS_ICON. It is probably automatically 32x32 |
||
49 | |||
50 | - Windows NT 3.51 clicking the zoom icons does not work! |
||
51 | The click event probably only works for Button classes? |
||
415 | daniel-mar | 52 | => Ok, changed to pushbutton with ownerdraw. Now works |
414 | daniel-mar | 53 | |
54 | - Help button does not work |
||
55 | |||
56 | - WinNT311+351: Preview image is not drawn at dialog box opening. You need to enter something first. |
||
57 | |||
58 | - WinNT311+351: Create 64 bit plugin: Error "Not a valid NT image" at `UpdateVersionInfoWithHandle` (probably doesn't support "Load as Datafile") |
||
59 | |||
60 | - Versioninfo is not adjusted, not even for Win 32 standalone plugins |
||
61 | In Win NT 3.51, 32 bit is adjusted, 64 bit not |
||
62 | |||
415 | daniel-mar | 63 | - Preview pane cannot be panned, because it seems that anything clickable needs to be a pushbutton in Win NT 3.51 |
64 | TODO: implement area as pushbutton? |
||
414 | daniel-mar | 65 | |
66 | Questions: |
||
67 | ---------- |
||
68 | |||
69 | Which CPU architecture is required for OpenWatcom settings? Should we do very low settings 80386? |