[fpc-pascal] Cannot find entry point of a routine inside a windows 64 dll
Dennis
dec12 at avidsoft.com.hk
Wed Dec 13 03:03:49 CET 2017
I am converting my windows 32 program to 64 bit.
It compiled with lazarus without any problem.(fpc 3.0.2)
I also compile the dll that is used, into a 64 bit dll.
However, when I ran the 64 bit program, windows reported 'cannot find
the entry point "the routine name in the dll" (the dll file name)
In the routine of the dll, there is an out parameter of type WideString,
could this be the problem?
If not, what else could be the cause of the problem?
Below is the calling program:
Dennis
---------
const
ExcelDLLName = 'Excel_xp.dll';//1.90951
Type
TFileNameString = WideString;//1.90951
TExcelErrorString = WideString;//1.90952
TExcelValueString = WideString;//1.90952
EExcel_OLE=class(Exception);
EExcel_OLE_Rejected=class(EExcel_OLE);
EExcel_OLE_Rejected_ToWrite = class(EExcel_OLE_Rejected);
procedure Excel_Finalize;external ExcelDLLName name 'Finalize';
procedure ResetExcelOLE(out TheError: TExcelErrorString);external
ExcelDLLName;//1.90967
//1.90952 function OpenWorkBook(TheFileName : TFileNameString; out
TheErrorIdx : integer) : integer;external ExcelDLLName;
//1.90952 function OpenWorkSheet(const TheWorkBook : integer; const
TheSheetName : TFileNameString; out TheErrorIdx : integer) :
integer;external ExcelDLLName;
//1.90952 procedure WriteToCell(const TheWorkSheet : integer; const
TheRow, TheCol : integer; TheValue : String);external ExcelDLLName;
//1.90952 function WriteToRange(const TheSheetIndex : integer;TheRow,
StartCol: integer; TheValues: array of variant; IsSkipIfNoChange:
Boolean ) : integer;external ExcelDLLName;//used internally
procedure WriteToExcelRow(const TheSheetIndex: integer; TheRow,
StartCol: integer; TheValues: array of Variant; out TheError:
TExcelErrorString);external ExcelDLLName;//used internally
procedure WriteRow(const TheSheetIndex : integer;TheRow, StartCol:
integer; TheValues: array of variant; var TheError :
TExcelErrorString);external ExcelDLLName;//used internally
//1.90952 function GetCellValue(const TheWorkSheetIndex : integer; const
TheRow, TheCol : integer) : Variant;external ExcelDLLName;
function GetCellVariant(const TheWorkSheetIndex : integer; const TheRow,
TheCol : integer; var TheError : TExcelErrorString) : Variant;external
ExcelDLLName;
function IsRangeNull(const TheSheetIndex : integer;const TheRow,
StartCol, TheRowCount, TheColCount : integer; var TheError :
TExcelErrorString) : Boolean;external ExcelDLLName;
function GetExcelRange(const TheWorkSheetIndex: integer; const TheRow,
TheCol, TheRowCount, TheColCount: integer; var TheError:
TExcelErrorString): variant; external ExcelDLLName;
function OpenExcelWorkBook(TheFileName: TFileNameString; out TheError:
TExcelErrorString): integer;external ExcelDLLName;
function OpenExcelWorkSheet(const TheWorkBook: integer; const
TheSheetName: TFileNameString; out TheError: TExcelErrorString):
integer;external ExcelDLLName;
procedure WriteToExcelRange(const TheSheetIndex: integer; TheRow,
StartCol: integer; TheValues: Variant; out TheError:
TExcelErrorString);external ExcelDLLName;
procedure ReOpenExcelWorkSheet(TheWorkSheetIndex : integer; out TheError
: TExcelErrorString);external ExcelDLLName;//1.90966
procedure ReOpenExcelWorkBook(TheWorkBookIndex : integer; out TheError :
TExcelErrorString);external ExcelDLLName;//1.90966
procedure SaveAllExcelWorkBooks(out TheError :
TExcelErrorString);external ExcelDLLName;//1.90967
procedure SaveExcelWorkBook(TheBookIndex : integer; out TheError:
TExcelErrorString);external ExcelDLLName;//1.91495
More information about the fpc-pascal
mailing list