小编mra*_*mra的帖子

如何根据TAction触发它来更改事件处理程序的行为?

我有一些菜单项,其中的操作是这样的:

procedure TMISMainFrm.ActiSalesInvoiceExecute(Sender: TObject);
begin
  if CheckMdiList('Sales Invoice') then
    BEGIN
      SalesInvFrm := tSalesInvFrm.Create(Self,0,UserIdNo,1,1);
      SalesInvFrm.Show;
    END;
end;
Run Code Online (Sandbox Code Playgroud)

可以从多个位置调用上述操作,但第二个参数(0)可能会更改.如何传递必需的参数,以便我不必重新编码例程?

delphi parameters event-handling taction

4
推荐指数
1
解决办法
420
查看次数

获得变量

我获得了一个如何在创建主窗体之前创建登录屏幕的示例.Howwever我不知道如何在登录屏幕关闭之前获取变量.我试图传递变量

SelectedUserName : String;
SelectedUserIdNo, SelectedCoyId : Integer;
Run Code Online (Sandbox Code Playgroud)

从loginfrm到mainform进行进一步处理.

有任何想法吗.

提前致谢.

这是主要代码:

program Pac;

{$R *.res}

uses
  ExceptionLog, Forms,
  MainForm in 'Main\MainForm.pas' {MainFormFrm} ,
  Datamodule in 'Main\Datamodule.pas' {DataModuleFrm: TDataModule} ,
  Login in 'Security\Login.pas' {LoginFrm};

begin
  if tLoginFrm.Execute then
  begin
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TMainFormFrm, MainFormFrm);
    Application.CreateForm(TDataModuleFrm, DataModuleFrm);
    Application.Run;
  end
  else
  begin
    Application.MessageBox
      ('You are not authorized to use the application. The password is "delphi".',
      'Password Protected Delphi application');
  end;
end.
Run Code Online (Sandbox Code Playgroud)

我的登录代码是:

unit Login;

interface

uses
  Windows, .. .. ..;

type …
Run Code Online (Sandbox Code Playgroud)

delphi variables

3
推荐指数
1
解决办法
263
查看次数

如何根据表单的每个不同实例在变量中使用不同的值?

我有一个显示联系地址的mdi表格.由于它是Mdi,我可以打开表格的多个副本.然而,显然所使用的变量在表格中被"复制".因此,在下面的代码中,ContactTypeId将具有基于创建的最后一个表单的值.

implementation

uses DataModule, MainForm;

{$R *.dfm}

var ModuleUserLevel, ContactId, ContactTypeId : Integer;
  EditMode, EditAccess, AddAccess, DeleteAccess  : Boolean;
  ContactName : String;

constructor TContactDetailsFrm.Create(AOwner:TComponent; InContactTypeId, InContactId : Integer);
Begin
  Inherited Create(AOwner);
  ContactId := InContactId;
  ContactTypeId := InContactTypeID;
End;
Run Code Online (Sandbox Code Playgroud)

我怎么能避免这个?

提前致谢

delphi variables mdi scoping

1
推荐指数
1
解决办法
223
查看次数

标签 统计

delphi ×3

variables ×2

event-handling ×1

mdi ×1

parameters ×1

scoping ×1

taction ×1