Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Модули


Автор: Dr Smth 11.10.2004, 10:34
Помогите решить проблему начинающему.

Есть 3 формы и 3 соответствующих им модуля. В первом объявлена глобальная запись. Поля записи должны формироваться во 2 и 3 форме (модуле). Модули, вроде бы связаны, однако поля и переменные, сформированные во 2 модуле не видны в третьем и т.д. Как быть?

Автор: Akella 11.10.2004, 13:14
unit uFind;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Buttons, DBCtrls, ComCtrls, Grids, DBGridEh, ExtCtrls,
 PropStorageEh;

type
 TfmSpisFilter = class(TForm)
   sbFilter: TStatusBar;
   Panel1: TPanel;
   DBGridFilter: TDBGridEh;
   Panel2: TPanel;
   Label1: TLabel;
   Label2: TLabel;
   cbFilter2: TComboBox;
   edFind: TEdit;
   bbFilter: TBitBtn;
   bbCancelFilter: TBitBtn;
   bbOk: TBitBtn;
   Label4: TLabel;
   Label3: TLabel;
   Label5: TLabel;
   Splitter1: TSplitter;
   PropStorageEh1: TPropStorageEh;
   Bevel1: TBevel;
   Bevel2: TBevel;
   Bevel3: TBevel;
   procedure FormKeyDown(Sender: TObject; var Key: Word;
     Shift: TShiftState);
   procedure bbFilterClick(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure DBGridFilterDrawColumnCell(Sender: TObject; const Rect: TRect;
     DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
   procedure FormCreate(Sender: TObject);
   procedure bbCancelFilterClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 добавленные здесь переменные, процедуры и функции будут видны из всех модулей
 vMyVar:Variant;
 end;

var
 fmSpisFilter: TfmSpisFilter;

а можно здесь
 vMyVar:Variant;
 vFind: Integer;
 vFieldName: String;

implementation


в другом модуле
Код
fmFind.vMyVar:=...

Автор: Satana 11.10.2004, 16:04
а если нужно обращаться к компонентам типа editN то нужно перед ней указать форму на которой она расположена к примеру:
FormN.EditM.<какоенить свойство>, где N, M соответствующие номера формы и компоненты

Автор: Dr Smth 15.10.2004, 12:52
Спасибо, всё функционирует.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)