View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0036558 | Lazarus | LCL | public | 2020-01-11 22:49 | 2020-01-13 19:19 |
Reporter | Karl-Michael Schindler | Assigned To | wp | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | darwin | OS | Mac OS X | ||
Product Version | 2.0.7 (SVN) | ||||
Summary | 0036558: Commit 62400 breaks building wince-arm and wince-i386 | ||||
Description | After commit 62400 building the cross parts for the targets wince-arm and wince-i38 breaks with ... Compiling lazhelpintf.pas lazhelphtml.pas(389,8) Error: Identifier not found "ShellExecute" ... | ||||
Steps To Reproduce | svn up -r 62400 make registration lazutils codetools lcl packager basecomponents LCL_PLATFORM=wince OS_TARGET=wince PP=ppcarm CPU_TARGET=arm | ||||
Additional Information | I do not think, it really matters, but this is on macOS with fpc 3.0.4. Since the same has been done on trunk with revision 62387, I assume that trunk is broken in the same way. Has to be confirmed, though. | ||||
Tags | No tags attached. | ||||
Fixed in Revision | 62542 (trunk), 62543 (fixes) | ||||
LazTarget | 2.0.8 | ||||
Widgetset | WinCE | ||||
Attached Files |
|
|
I don't have access to WinCE, so I'm just guessing. Could you try again after replacing the define {$IFDEF WINDOWS} in LazHelpHTML by {$IFDEF MSWINDOWS} - AFAIK this should prevent WinCE from seeing the ShellAPI unit in "uses". |
|
@wp: You can just cross-compile for WinCE a program that uses the lazhelphtml.pas unit and see what the compiler thinks of it? No need to have a WinCE at all. |
|
After changing to {$IFDEF MSWINDOWS} the build runs through. If this is good enough, it should then be applied to trunk as well. Note to wp: Maybe, the target wince-i386 is easier for you to cross compile: make registration lazutils codetools lcl packager basecomponents LCL_PLATFORM=wince OS_TARGET=wince PP=ppc386 CPU_TARGET=i386 |
|
After that, someone with a WinCE device or emulator should test wether the unit then still works (or is it only ever supposed to be used by the Lazarus IDE iteself? In that case it really doesn't matter as long as it compiles, since the IDE will never run on WinCE.) |
|
No wince device, here. Just checking cross compile. |
|
Still fighting to setup a cross-compiler... Bart, according to https://www.freepascal.org/docs-html/prog/progap7.html#x316-331000G, the previously used define WINDOWS is valid for all Windows variants, while MSWINDOWS is for all except for WinCE. So the only risk of making this change is that the fix of 0035659 (html help not finding the Edge browser) could not work on WinCE. I think this risk is tolerable compared with the inability to cross-compile an application for this target. If you agree I'd apply the modification to both trunk and fixes. The implementation of the function OpenURL in sysenvapis_win.inc contains an IFDEF'ed section for WinCE using ShellExecuteEx instead of ShellExecuteW in the ELSE part. Therefore, I think the functionality of ShellExecute in 0035659 could be substituted in a similar way for WinCE. But being unable to test I do not want to do anything in this direction. |
|
If you have current fpc, then install the wince crosscompiler, available for download on the official pages. Install. In Lazarus select the proper target (WinCe and arm as cpu), then just compile. There are officail emulators from MS you can install to test wince executables. See also https://wiki.lazarus.freepascal.org/Windows_CE_Interface#Windows_Mobile_6.5_in_Windows_Vista_or_superior I had one on my (now totally dead) old PC and used to test with that. ATM we don't have an (un)offcial maintainer for the WinCE WS (which gets broken quite often as a result). |
|
I am the one submitted that change and @wp followed through with it. I just changed the defines to MSWINDOWS and recompiled, it seems to work ok on my Windows machines. Maybe we could use a $IFNDEF WinCe instead along with the added inclusion of the MSWINDOWS |
|
Replaced the two related {$IFDEF Windows} by {$IFDEF MSWindows} in unit LazHelpHtml, left the third occurence intact. The Lazarus helphtml example which uses LazHelpHtml now does cross-compile to WinCE. Applied to both trunk and fixes. Please test again and close if ok, otherwise reopen. |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-01-11 22:49 | Karl-Michael Schindler | New Issue | |
2020-01-12 14:28 | Bart Broersma | Relationship added | related to 0035659 |
2020-01-12 14:28 | Bart Broersma | Assigned To | => wp |
2020-01-12 14:28 | Bart Broersma | Status | new => assigned |
2020-01-12 16:05 | wp | Note Added: 0120363 | |
2020-01-12 16:05 | wp | Status | assigned => feedback |
2020-01-12 16:05 | wp | LazTarget | => - |
2020-01-12 16:50 | Bart Broersma | Note Added: 0120365 | |
2020-01-12 16:50 | Bart Broersma | Note Edited: 0120365 | View Revisions |
2020-01-12 17:23 | Karl-Michael Schindler | Note Added: 0120367 | |
2020-01-12 17:23 | Karl-Michael Schindler | Status | feedback => assigned |
2020-01-12 22:12 | Bart Broersma | Note Added: 0120384 | |
2020-01-12 22:18 | Karl-Michael Schindler | Note Added: 0120385 | |
2020-01-12 23:01 | wp | Note Added: 0120387 | |
2020-01-12 23:46 | Bart Broersma | Note Added: 0120388 | |
2020-01-13 01:50 | jamie philbrook | Note Added: 0120389 | |
2020-01-13 01:51 | jamie philbrook | Note Edited: 0120389 | View Revisions |
2020-01-13 12:57 | wp | Status | assigned => resolved |
2020-01-13 12:57 | wp | Resolution | open => fixed |
2020-01-13 12:57 | wp | Fixed in Revision | => 62542 (trunk), 62543 (fixes) |
2020-01-13 12:57 | wp | LazTarget | - => 2.0.8 |
2020-01-13 12:57 | wp | Widgetset | WinCE => WinCE |
2020-01-13 12:57 | wp | Note Added: 0120401 |