如何将Form中的代码移植到DPR中?(50分)

  • 主题发起人 主题发起人 任远
  • 开始时间 开始时间

任远

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在对以前的一个程序进行大小压缩,因原来是带form的程序,现在已经将form中所有的组件都去掉了,所以想去掉form,将所有代码放到一个单一的DPR文件中,原来form中的过程和函数定义TForm1 = class(TForm)应该改成什么?或者如何定义函数?
===========================================
program MyPPP;

uses
Windows, Messages, Graphics, Forms, SysUtils, Dialogs, shellapi, ExtCtrls, Menus, StrUtils;

type
TForm1 = class(TForm) //此处该如何写?
procedure SetChangeTime;
procedure GetbmpList;
private
{ Private declarations }
public
{ Public declarations }
end;

{$R *.res}

var
bmpFileList: TstringList;

procedure SetChangeTime;
begin
{......}
end;

begin
{......}
end.
 
你既然去掉了form,而且单元引用中又不含form,TForm1 = class(TForm) 这句当然不应该存在,也就是说不能再与form发生任何关系。
 
只要你的程序有窗口,就会包括TForm1 = class(TForm)这句,你可以新建一个unit单元文件去实现你的功能
 
去掉TForm1 = class(TForm) 这句,原来的过程和函数在哪里定义?我的form现在是个空的了,程序本身也不需要窗体,我试试单独unit吧,谢谢两位
 
到底应该如何声明?以下单一的Unit单元,编译时出现如下错误:
[Error] MydeskCode.pas(37): Incompatible types: 'method pointer and regular procedure'
[Error] MydeskCode.pas(12): Unsatisfied forward or external declaration: 'TmyDesk.CreateMenu'
[Error] MydeskCode.pas(13): Unsatisfied forward or external declaration: 'TmyDesk.PauseItemClick'
源代码如下==================================
unit mydeskcode;
interface
uses
Windows, Messages, Graphics, SysUtils, Menus, StrUtils, Controls, Classes;

type
TmyDesk = class
procedure CreateMenu;
procedure PauseItemClick;
private
{ Private declarations }
public
{ Public declarations }
end;

var
SetMenu: TPopupMenu;
PauseItem: TMenuItem;

implementation

procedure PauseItemClick;
begin
showmessage('暂停成功');
end;

procedure CreateMenu;
begin
SetMenu := TPopupMenu.Create(nil);
PauseItem := TMenuItem.Create(nil);
PauseItem.Caption := '暂停';
PauseItem.OnClick := PauseItemClick
//出错
SetMenu.Items.Add(PauseItem);
end;
end.
 
procedure TmyDesk.CreateMenu
要加上类修饰啊: TmyDesk
begin
SetMenu := TPopupMenu.Create(nil);
PauseItem := TMenuItem.Create(nil);
PauseItem.Caption := '暂停';
PauseItem.OnClick := PauseItemClick
//出错
SetMenu.Items.Add(PauseItem);
end;
//最好在定义完成之后, 按下组合键: [CTRL] + [SHIFT] + [C] 就会自动生成代码
框架给你了。
 
多人接受答案了。
 
后退
顶部