需要一个表单知道另一个,以发送行为。在过去,我需要这个,并解决使用属性。现在,我做同样的程序,但没有用。
我有下一个UML图表类,抱歉,名称类很混乱:
所以,我需要ENPViewGeneric知道ENPView。孩子们继承了这些知识。
我尝试 ENPViewGeneric :
unit EnpViewGeneric;
[...]
protected
{ Protected declarations }
FENPForm: TENP;
public
{ Public declarations }
property ENPForm: TENP read FENPForm write FENPForm;
[...]
ENPViewAddAfter 实例在ENPView实例中执行:
procedure TENP.optAddLastOfClick(Sender: TObject);
var
AfterForm: TEnpAddAfter;
begin
AfterForm := TEnpAddAfter.Create(self);
AfterForm.ENPForm := self;
AfterForm.ShowModal();
end;
现在, ENPViewAddAfter 实例需要查询 ENPView 实例。所以,我在 ENPView 中定义了一个公共方法来进行查询。方法是:
function getSelectedRowValues(): TStringList;
因此,此代码因fisrt行中的Access Violation而失败:
procedure TEnpAddAfter.FormCreate(Sender: TObject);
var
row: TStringList;
nroMuestraNvo: integer;
begin
row := ENPForm.getSelectedRowValues();
nroMuestraNvo := StrToInt(row[0]) + 1;
muestra.Text := IntToStr(nroMuestraNvo);
end;
任何想法?。