View Issue Details

IDProjectCategoryView StatusLast Update
0019163LazarusIDEpublic2011-04-30 09:03
ReporterCyraxAssigned ToPaul Ishenin 
PrioritynormalSeverityblockReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.31 (SVN)Product Build 
Target VersionFixed in Version0.9.31 (SVN) 
Summary0019163: Since revision 30288 64-bit version of Lazarus wont compile.
DescriptionWhen trying to compile it gives following errors:

Compiling win32wsdialogs.pp

win32wsdialogs.pp(156,10) Error: Forward declaration not solved "OpenFileDialogCallBack(QWord,LongWord,Int64,Int64):QWord; StdCall;"

win32wsdialogs.pp(1501) Fatal: There were 1 errors compiling module, stopping

Fatal: Compilation aborted

---

After applying needed fix to win32wsdialogs.pp get it to compile, this error came up:

Compiling win32wsextdlgs.pp

win32wsextdlgs.pp(165,19) Error: Incompatible types: got "<address of function(QWord,LongWord,Int64,Int64):DWord;StdCall>" expected "<procedure variable type of function(QWord,LongWord,Int64,Int64):QWord;StdCall>"

win32wsextdlgs.pp(241) Fatal: There were 1 errors compiling module, stopping

Fatal: Compilation aborted

--

In attached file you find a patch for both files.


Additional InformationCompiler in use is SVN revision 17315 of 64-bit FPC 2.5.1.
TagsNo tags attached.
Fixed in Revision30301
LazTarget-
WidgetsetWin32/Win64
Attached Files
  • win32ws.patch (1,107 bytes)
    --- lcl/interfaces/win32/win32wsdialogs.pp	Tue Jan 20 00:26:36 1970
    +++ lcl/interfaces/win32/win32wsdialogs.pp	Tue Jan 20 00:26:36 1970
    @@ -154,7 +154,7 @@
     {$endif}
     
     function OpenFileDialogCallBack(Wnd: HWND; uMsg: UINT; wParam: WPARAM;
    -  lParam: LPARAM): UINT; stdcall;
    +  lParam: LPARAM): UINT_PTR; stdcall;
     
     function SaveApplicationState: TApplicationState;
     procedure RestoreApplicationState(AState: TApplicationState);
    @@ -480,7 +480,7 @@
     }
     
     function OpenFileDialogCallBack(Wnd: HWND; uMsg: UINT; wParam: WPARAM;
    -  lParam: LPARAM): UINT; stdcall;
    +  lParam: LPARAM): UINT_PTR; stdcall;
     var
       OpenFileNotify: LPOFNOTIFY;
       OpenFileName: Windows.POPENFILENAME;
    --- lcl/interfaces/win32/win32wsextdlgs.pp	Tue Jan 20 00:26:36 1970
    +++ lcl/interfaces/win32/win32wsextdlgs.pp	Tue Jan 20 00:26:36 1970
    @@ -99,7 +99,7 @@
     {$R *.res}
     
     function OpenPictureDialogCallBack(hWnd: Handle; uMsg: UINT; wParam: WPARAM;
    -  lParam: LPARAM): UINT; stdcall;
    +  lParam: LPARAM): UINT_PTR; stdcall;
     var
       OpenFileName: Windows.POPENFILENAME;
       DialogRec: POpenFileDialogRec;
    
    win32ws.patch (1,107 bytes)

Relationships

related to 0019342 closedVincent Snijders Cwin32wsdialogs.pp(704,55) Error: Incompatible types (cross: linux to win64) 

Activities

2011-04-14 14:45

 

win32ws.patch (1,107 bytes)
--- lcl/interfaces/win32/win32wsdialogs.pp	Tue Jan 20 00:26:36 1970
+++ lcl/interfaces/win32/win32wsdialogs.pp	Tue Jan 20 00:26:36 1970
@@ -154,7 +154,7 @@
 {$endif}
 
 function OpenFileDialogCallBack(Wnd: HWND; uMsg: UINT; wParam: WPARAM;
-  lParam: LPARAM): UINT; stdcall;
+  lParam: LPARAM): UINT_PTR; stdcall;
 
 function SaveApplicationState: TApplicationState;
 procedure RestoreApplicationState(AState: TApplicationState);
@@ -480,7 +480,7 @@
 }
 
 function OpenFileDialogCallBack(Wnd: HWND; uMsg: UINT; wParam: WPARAM;
-  lParam: LPARAM): UINT; stdcall;
+  lParam: LPARAM): UINT_PTR; stdcall;
 var
   OpenFileNotify: LPOFNOTIFY;
   OpenFileName: Windows.POPENFILENAME;
--- lcl/interfaces/win32/win32wsextdlgs.pp	Tue Jan 20 00:26:36 1970
+++ lcl/interfaces/win32/win32wsextdlgs.pp	Tue Jan 20 00:26:36 1970
@@ -99,7 +99,7 @@
 {$R *.res}
 
 function OpenPictureDialogCallBack(hWnd: Handle; uMsg: UINT; wParam: WPARAM;
-  lParam: LPARAM): UINT; stdcall;
+  lParam: LPARAM): UINT_PTR; stdcall;
 var
   OpenFileName: Windows.POPENFILENAME;
   DialogRec: POpenFileDialogRec;
win32ws.patch (1,107 bytes)

Cyrax

2011-04-14 14:59

reporter   ~0047476

Humm, forgot to add this error message:

Compiling win32wsdialogs.pp

win32wsdialogs.pp(704,17) Error: Incompatible types: got "<address of function(QWord,LongWord,Int64,Int64):DWord;StdCall>" expected "<procedure variable type of function(QWord,LongWord,Int64,Int64):QWord;StdCall>"

win32wsdialogs.pp(1501) Fatal: There were 1 errors compiling module, stopping

Fatal: Compilation aborted

Paul Ishenin

2011-04-15 15:04

manager   ~0047492

Thanks, applied. Please close if ok.

Cyrax

2011-04-30 09:03

reporter   ~0047917

Works now. Thanks.

Issue History

Date Modified Username Field Change
2011-04-14 14:45 Cyrax New Issue
2011-04-14 14:45 Cyrax File Added: win32ws.patch
2011-04-14 14:45 Cyrax Widgetset => Win32/Win64
2011-04-14 14:59 Cyrax Note Added: 0047476
2011-04-15 15:04 Paul Ishenin Fixed in Revision => 30301
2011-04-15 15:04 Paul Ishenin LazTarget => -
2011-04-15 15:04 Paul Ishenin Status new => resolved
2011-04-15 15:04 Paul Ishenin Fixed in Version => 0.9.31 (SVN)
2011-04-15 15:04 Paul Ishenin Resolution open => fixed
2011-04-15 15:04 Paul Ishenin Assigned To => Paul Ishenin
2011-04-15 15:04 Paul Ishenin Note Added: 0047492
2011-04-30 09:03 Cyrax Status resolved => closed
2011-04-30 09:03 Cyrax Note Added: 0047917
2011-10-05 16:42 Vincent Snijders Relationship added related to 0019342