散分!

ilang 2002-09-11 04:10:31
散分先
其次把这段时间碰到的三层结构的一些主要问题贴出来,特别是那几个打问号的,大家帮忙顺便给看一下

1,程序在服务器上运行正常(WINNT4.0),在另一台WIN98的 机子上进行调试,出现未找到库文件错误。

√在本地WIN2000的系统目录System32文件夹下找到midas.dll文件,拷贝到WIN98系统System32文件夹下

2,在客户端通过ClientDataSet组件的MasterSource和MasterFields属性建立主明细表关联,运行时选择一条主表记录,明细表记录出现滚动增加的情况

√设置连接明细表的ClientDataSet组件的PacketRecords属性值为非0(-1或其他正值)

3,在DBGrid中直接处理数据,在一个格子里输入数据完毕直接按保存按钮,最后的这个更改值没有更新到数据库

√在更新数据过程中增加if ClientDataSet1.State in [dsEdit, dsInsert] then ClientDataSet1.Post;

4,远程数据模块无法继承的问题,按照通常方式继承,继承模块实际上已不是远程数据模块,在客户端无法和其建立连接

?可能与GUID有点关系

5,原本拷贝一个远程数据模块,想在另一个子系统中重用一些方法,测试时发现程序根本无法运行,连原来的子系统运行出现问题

???

6,原来的三层结构应用服务器一个数据表就提供一个ADOQuery组件连接,更新数据没有什么问题:
procedure TscFrmEdit.ApplyDelta(cds: TClientDataSet);
var
iErrCount: Integer;
dspName: WideString;
vDisp: IscMainRDMDisp;
vDelta, vOwner: OleVariant;
begin
vDelta := cds.Delta;
dspName := cds.ProviderName;
vDisp := IscMainRDMDisp(IDispatch(scLocalDM.DCOMX.AppServer));
vDisp.AS_ApplyUpdates(dspName, vDelta, -1, iErrCount, vOwner);
end;
后来因为ADOQuery组件实在太多了,改为全部数据表基本上就用同一个ADOQuery组件连接,在客户端ClientDataSet组件的CommandText中写SQL语句连接数据表,这时更新出现上面的调用服务器端的AS_ApplyUpdates方法无法更新数据的问题,没办法,只好这样更新了:cds.ApplyUpdates(-1);

???

7,主明细表结构中删除主表记录,无法一起删除子表记录,连这样都不行
cdsDetail.Delete;
cdsDetail.ApplyUpdates(-1);
inherited;//删除主表
麻烦一点了,传送一条删除记录的SQL语句到应用程序服务器

???

8,应用程序服务器已经运行,这时如果设置DCOM的Connected属性为True,出现Delphi长时间停止响应

虽然这只是我自己的不小心,但这是很糟糕的现象,刚开始的时候我为此重新启动过D
elphi几次,所以建议调试的时候最好不要先直接运行应用程序服务器。通过设置DCOM的Connected属性让它自动运行。

9,继承一个窗体时,从父窗体删除一个组件,这时运行程序有时候会出错,原因可能是子窗体的该组件未被完全删除

???这种情况出现过几次,有时调出子窗体,会提示该组件在父窗体中已被删除,是否还保留该组件,选择否,但运行时有时还会出现问题 很怪


...全文
68 74 打赏 收藏 转发到动态 举报
写回复
用AI写文章
74 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheAres 2002-09-12
  • 打赏
  • 举报
回复
收分了
------------------------
I like to teach a fish how to swim.
Truefly 2002-09-12
  • 打赏
  • 举报
回复
ding , ding
qywNewer 2002-09-12
  • 打赏
  • 举报
回复
down
Andy_li 2002-09-12
  • 打赏
  • 举报
回复
接分!
u2m 2002-09-12
  • 打赏
  • 举报
回复
GZ
baby_hhh 2002-09-12
  • 打赏
  • 举报
回复
目前还没用3层
ilang 2002-09-12
  • 打赏
  • 举报
回复
To:mysine(宝兰)
我只是一个初学者,编码经验谈不上,没有编码经验的人不能在这边贴贴子么?
lqdmafeng 2002-09-12
  • 打赏
  • 举报
回复
up
zigz 2002-09-12
  • 打赏
  • 举报
回复
太好了!
ScoutKing 2002-09-12
  • 打赏
  • 举报
回复
liao_yy 2002-09-12
  • 打赏
  • 举报
回复
收藏!
大健 2002-09-12
  • 打赏
  • 举报
回复
我来了
cnnjvirus 2002-09-12
  • 打赏
  • 举报
回复
接分!
superdev 2002-09-12
  • 打赏
  • 举报
回复
顺便接分!!!
gototop99 2002-09-12
  • 打赏
  • 举报
回复
好呀!收起来


up!!!!!!
ocool 2002-09-12
  • 打赏
  • 举报
回复
up
snake_eye 2002-09-12
  • 打赏
  • 举报
回复
dsdffs
linuxguoyy 2002-09-12
  • 打赏
  • 举报
回复
接分
dreamfan 2002-09-12
  • 打赏
  • 举报
回复
刚好赶上,去看看
blazingfire 2002-09-12
  • 打赏
  • 举报
回复
`
加载更多回复(54)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧