最近在用D6/7做开发,发现D6的函数内部的函数类型定义不能有默认参数,Build没有问题,可以通过,Compile就会报Internal Error URW3537,代码如下:
解决方法:
1、去除默认参数
2、参考CodeGear的 解决方案
- function TSpreadEntry.SpreadQuotaList: ISpreadQuotaList;
- const
- DLLProc = 'SpreadQuotaList';
- type
- TLoadDLL = function (const Access: TAccessType = atGet): ISpreadQuotaList; stdcall;
- var
- FLoad: TLoadDLL;
- begin
- Result := nil;
- FLoad := TLoadDLL(GetProcAddress(FLib, DLLProc));
- if Assigned(FLoad) then
- Result := FLoad();
- end;
1、去除默认参数
2、参考CodeGear的 解决方案