我下的?Visual Studio .Net BETA1怎么不能安装?
"Extracting file failed.It is must likely caused by low memory (low disk space for swapping file.) or corrupted cabinet file."
我C盘和SETUP文件所在盘都有400M以上的空间?难道还不够?
怎么回事?
Microsoft Transaction Server可加速三层应用程序的实现。使用MTS,可在几乎没有编程的负担的情况下获得分布式处理支持、安全序列以及性能管理能力。尽管使用Delphi和PowerBuilder也可以创建MTS对象,但Visual Basic提供了开发MTS组件最便捷的方式。通过在对象浏览器中设置一个属性,COM组件就变成了一个纯粹的MTS组件。Visual Basic支持COM调试的功能很多,您可以轻松地从客户软件通过MTS跟踪到服务器组件,就好象没有中间层的存在一样。相比较而言,Delphi需要在两个开发环境中切换(一个用于客户端,一个用于服务器端),而PowerBuilder根本不支持在这种环境下的调试。
Var
rs: Recordset;
r: string;
Begin
rs:= CoRecordset.Create;
rs.Open('select * from publishers','DSN=pubs;UID=sa;PWD=;DATABASE=pubs'
adOpenForwardOnly,adLockReadOnly,adCmdText);
while not rs.EOF do
Begin
r := r + rs.Fields[0].Value ;
rs.MoveNext;
end;
除了语法有些不同外,Delphi代码和Visual Basic代码看起来非常相似。在第6行我们可以看出,在Visual Basic和PowerBuilder中我们需要提供作为缺省参数的参数,而在Delphi 4中就可以不提供,它会自动支持缺省参数。Delphi 4中的Object Pascal支持缺省参数,但还不支持类型库导入特性。Delphi还要做很多工作以把ADO数据源与Delphi控件绑定,目前Delphi 4中的所有工具都不支持ADO。
PowerBuilder中的ADO
string r
rs = CREATE OLEObject
rs.ConnectToNewObject("ADODB.Recordset.1")
rs.Open("select * from publishers", "DSN=pubs;UID=sa;PWD=;DATABASE=pubs")
do while Not rs.EOF
r = r + rs.Fields[0].Value
rs.MoveNext
Loop
PowerBuilder不支持COM接口的静态键入。在我们看来,这一点只是对不多用ADO编程有影响。其语法十分简洁(与Visual Basic例子相近),但一些语法错误只有在运行时才能发现,而不是在编译时。动态键入对性能也有较大影响,在处理外部对象模型的语法时,PowerBuilder不提供弹出式的帮助信息。
在服务器环境下BDE的健壮性也是潜在的问题,它偶尔会产生内存漏洞,使Delphi应用程序不能正常工作(返回“BDE out of memory”)。一种可能的解决方法是重启Web处理机(清除BDE),另一种方法就是不使用BDE。在进程之间共享有限内存情况下使用BDE令人不放心,这样可能会使某些关键任务的应用程序被同一机器上其他使用BDE的应用程序破坏。即使BDE具有稳固的状态(只有在所有BDE应用程序重新启动时BDE才重新启动),但还没有工具能查询它的健康和操作特性。