View Issue Details

IDProjectCategoryView StatusLast Update
0026651LazarusIDEpublic2014-09-20 12:35
Reporterfreeman35 Assigned ToMattias Gaertner  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx64OSKubuntu 
Product Version1.3 (SVN) 
Summary0026651: on crosscompile to WinCE error creation
DescriptionTest project is just open new project, change Target OS -T and Target CPU family -P
my Default setting are kubuntu x64
linux x64 -> compiled.
win32, i386 ->compiled.
win64 x86_64 ->compiled.
WinCE arm ->!!! NOT compiled.

I get this error in lazarus:

lazfileutils.pas(112,10) Error: Forward declaration not solved "GetPhysicalFilename(const AnsiString;TPhysicalFilenameOnError):AnsiString;"
TagsNo tags attached.
Fixed in Revision46265
LazTarget-
WidgetsetWinCE
Attached Files

Activities

Stephano

2014-08-30 12:35

developer   ~0076789

Last edited: 2014-08-30 12:37

View 2 revisions

This is the implementation of GetPhysicalFilename (added in rev 45241) in winlazfileutils.inc:

function GetPhysicalFilename(const Filename: string;
        OnError: TPhysicalFilenameOnError): string;
begin
  if OnError=pfeEmpty then ;
  Result:=Filename;
end;

But it is in an IFnDEF WinCE section although it seems not to necessary belong to that block, at least in its current implementation.

Stephano

2014-09-20 07:31

developer  

WInCEGetPhysicalFilename.diff (932 bytes)   
Index: components/lazutils/winlazfileutils.inc
===================================================================
--- components/lazutils/winlazfileutils.inc	(revision 46261)
+++ components/lazutils/winlazfileutils.inc	(working copy)
@@ -146,6 +146,13 @@
   Result:=Filename;
 end;
 
+function GetPhysicalFilename(const Filename: string;
+        OnError: TPhysicalFilenameOnError): string;
+begin
+  if OnError=pfeEmpty then ;
+  Result:=Filename;
+end;
+
 // ******** Start of AnsiString specific implementations ************
 
 {$ifndef WinCE}
@@ -250,13 +257,6 @@
   Rslt.Name:=SysToUTF8(Rslt.Name);
 end;
 
-function GetPhysicalFilename(const Filename: string;
-        OnError: TPhysicalFilenameOnError): string;
-begin
-  if OnError=pfeEmpty then ;
-  Result:=Filename;
-end;
-
 function GetAppConfigDirAnsi(Global: Boolean; Create: boolean = false): string;
 begin
   Result := SysToUTF8(SysUtils.GetAppConfigDir(Global));

Stephano

2014-09-20 07:42

developer   ~0077452

Patch for GetPhysicalFilename is attached (not fully tested yet due to the error below).

However, the compilation proceeded only a bit further and hit a new error (introduced in rev 45987):
utf8process.pp(97,6) Error: Identifier not found "GetProcessAffinityMask"

The odd thing is that 'Find Declaration' locates the function in fpc/rtl/win/wininc/redef.inc:
function GetProcessHeaps(NumberOfHeaps: DWORD; var ProcessHeaps: THandle): DWORD;external 'kernel32' name 'GetProcessHeaps';

Mattias Gaertner

2014-09-20 12:35

manager   ~0077458

Thanks. Applied.

Issue History

Date Modified Username Field Change
2014-08-30 07:53 freeman35 New Issue
2014-08-30 12:35 Stephano LazTarget => -
2014-08-30 12:35 Stephano Note Added: 0076789
2014-08-30 12:35 Stephano Assigned To => Mattias Gaertner
2014-08-30 12:35 Stephano Status new => confirmed
2014-08-30 12:37 Stephano Note Edited: 0076789 View Revisions
2014-09-20 07:31 Stephano File Added: WInCEGetPhysicalFilename.diff
2014-09-20 07:42 Stephano Note Added: 0077452
2014-09-20 12:35 Mattias Gaertner Fixed in Revision => 46265
2014-09-20 12:35 Mattias Gaertner Note Added: 0077458
2014-09-20 12:35 Mattias Gaertner Status confirmed => resolved
2014-09-20 12:35 Mattias Gaertner Resolution open => fixed