我继承了一个程序,它有很多问题.最新的一个是太多实际参数警告:
if MessageDlgPos('IS THIS CORRECT? ' , mtConfirmation,
**[mbyes, mbno], 0, 400, 450, mbno) = mrno then begin**
edtPstvEmplyNmbr.SetFocus;
xitFlg:= True;
Run Code Online (Sandbox Code Playgroud)
粗体部分是错误突出显示的部分.
注意:程序工作,只是不在我的机器上.它是使用相同版本的Delphi(7)开发的,但是在clx(kylix)环境中.我想我(可能)已经解决了clx和vcl(我当前的环境)之间的所有不兼容问题,但可能是我错过了一个产生此错误的组件.我会尽力澄清任何问题,但请记住,我只在几个月内开发Delphi.
我遇到了Delphi 7应用程序(CLX)的内存泄漏问题,其代码如下:
unit Unit2;
interface
uses ECRClass, ECR_Text, SysUtils, Types, Classes, Variants, Math;
type tLeakClass = class
private
fsType : integer;
public
fsPrinter : TECR_Class;
published
constructor Create (AOwner : TComponent);
destructor Destroy();
end;
implementation
constructor tLeakClass.Create (AOwner : TComponent);
begin
fsPrinter := TECR_Text.Create(AOwner);
end;
destructor tLeakClass.Destroy();
begin
fsPrinter.Free
end;
end.
Run Code Online (Sandbox Code Playgroud)
fsPrinter即使在主窗体(TForm)关闭时释放它,对象结果也会泄露:
unit Unit1;
interface
uses
SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms,
QDialogs, QStdCtrls, Unit2;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject); …Run Code Online (Sandbox Code Playgroud)