Sashaua, понятнее не стало...
Я надеюсь, у вас такой алгоритм работы: открыта карточка клиента - поднимаем диалоговое окно с гридом (ваша форма Икс), после того, как пользователь выбрал клиента, но до того, как форма Икс уничтожена - узнать у неё, какой клиент был выбран пользователем (свойство id_client);
Всё тоже самое и в случае "формы продаж".
Форма Икс не должна знать, кто её поднимает. Её функция - предоставить выбор пользователю и предоставить результат этого выбора любой "форме", которой понадобился этот выбор.
+ Примерно так... |
==== unit 1 ====
procedure Form1.ButtonClick(Sender: TObject);
var
aDlg: TdlgFormaX;
aId: Integer;
begin
aDlg := TdlgFormaX.Create;
try
if aDlg.ShowModal = mrOk then
begin
aId := aDlg.id_client;
end;
finally
FreeAndNil(aDlg);
end;
end;
==== unit 2 ====
interface
type
TdlgFormaX = class(TForm)
private
FId: Integer;
public
property id_client: integer read FId
end;
implementation
procedure TdlgFormaX.btnOkClick(Sender: TObject);
begin
FId := dataset.FieldByName('id').AsInteger;
ModalResult := mrOk;
end;
|