一、服务端如果出现:
---------------------------
ABServerP.exe - 无法找到入口
---------------------------
无法定位程序输入点 @Abthirddbu@ABOpenFileConnection$qqrp29Abthirddbu@TFireDACConnection27Abpubconstu@TABDatabaseType20System@UnicodeStringt3t3t3 于动态链接库 F:\CFServer\ABServerP.exe 上。
---------------------------
确定
---------------------------
需要将三个基础包和ABServerP.exe编译,并上传到服务器,然后运行,同时需要上传至框架库
注:需要将AbserverP目录下面的Config复制过来,此目录保存了界面上DbGrid的列配置信息,否则会提示:
启动服务发生异常:Field '是否运行' cannot be modified
问题出在:
Plugs_DBGrid.GetColumnByFieldName('PL_Run').ReadOnly:=true;
这句,在发版虚拟机和我开发机上都仅设置DBGRID的列ReadOnly属性为True
这句的目的是在DBGRID上不能通过点击来修改PL_Run字段,这个字段是由服务程序根据是否成功加载插件去设置的
但是在CIO你电脑上这句会同时修改字段的ReadOnly属性为True,这样服务程序根据是否成功加载插件去设置时就会报错了,原因在DELPHI源码中
procedure TColumn.SetReadOnly(Value: Boolean);
var
Grid: TCustomDBGrid;
begin
Grid := GetGrid;
if not IsStored and Assigned(Grid) and Grid.Datalink.Active and Assigned(Field) then
Field.ReadOnly := Value
else
begin
if (cvReadOnly in FAssignedValues) and (Value = FReadOnly) then Exit;
FReadOnly := Value;
Include(FAssignedValues, cvReadOnly);
Changed(False);
end;
end;
因为CIO你电脑的ABServerP目录中没有Config目录,所以列不是手工创建的了,就走到
二、客户端出现:
---------------------------
无法定位程序输入点 @Shoeserp_public_selectu@TShoesErp_public_selectForm@ 于动态链接库 D:\ShoesErp\ShoesErp_Sales_SalesOrderG.bpl 上。
---------------------------
确定
---------------------------
类似这样的错误,就需要将第三方包重新升级打包,然后上传至框架库,然后客户端重新打开程序即可