Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Связь между юнитами [D6, WinXP]


Micah'GF ©   (2002-12-23 17:55:00) 

Прописываю в основной программе USESForms, Variables, mProc, main in"main.pas" {MainForm} ;
В Variables определена переменная VARGLOBAL_INIOpened: boolean;, а в mainпытаюсь ее использовать.. компилятор ругается - говорит переменная не определена...
Точно также происходит с несколькими модулями: в mProcпрописано procedureErrEx(code:integer); а при обращении из mainговорит что процедура не определена...
Вообще как определяется фидимость переменных и процедур между юнитами?


Micah'GF   (2002-12-23 19:08:00) [1]

ладно спасибо
пока вроде все работает


Dona   (2002-12-23 18:58:00) [2]


>а что будет если в нескольких модулях в uses прописать один - например Variables?

Объекты, объявленные в interface модуля Variables, смогут использоваться во всех этих модулях.


Micah'GF   (2002-12-23 18:54:00) [3]

а что если придется использовать из mProc там тоже добавить в uses? а что будет если в нескольких модулях в uses прописать один - например Variables? переменные из этого модуля в разных будут связаны и иметь одно значение или заново определятся?


Dona   (2002-12-23 18:53:00) [4]

>Micah"GF

В main.pas - uses Variables внутри секции Interface


Skier   (2002-12-23 18:41:00) [5]

>Micah"GF
В модуле main.pas нужно написать uses variables


Micah'GF   (2002-12-23 18:38:00) [6]

2Skier
модули подключаю в проекте
см. Micah"GF (23.12.02 18:19)


Micah'GF   (2002-12-23 18:33:00) [7]

2Skier
если так делаю говорит:
[Error] mProc.pas(2): "INTERFACE" expected but "USES" found
[Error] mProc.pas(3): Declaration expected but "INTERFACE" found


Skier   (2002-12-23 18:29:00) [8]

>Skier © (23.12.02 18:24)
Мда...Ерунда полная...

>Micah"GF
А ты точно говоришь uses variablesв main.pas ?


Skier   (2002-12-23 18:24:00) [9]

UNIT Variables; // variables.pas

VAR
GLOBAL_INIOpened:boolean;
interface
VAR
GLOBAL_CountConn:integer;
Users: UserList;


Micah'GF   (2002-12-23 18:19:00) [10]

programServer; // server.dpr
uses
Forms, Variables, mProc,
main in "main.pas";
{$R *.res}
VAR


UNITVariables; // variables.pas
interface
VAR

GLOBAL_INIOpened: boolean;
GLOBAL_CountConn: integer;
Users: UserList;


// main.pas
GLOBAL_INIOpened := TRUE <<<< на это компилер ругается - говорит переменная не определена...



MBo   (2002-12-23 18:07:00) [11]

в других модулях видно то, что описано в секции interface


Gerd   (2002-12-23 18:03:00) [12]

Типа того?
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleServer,

type
TForm1 = class(TForm)

Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
uses unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.showmodal;
end;

end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо