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

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to