Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

Связь между юнитами   Найти похожие ветки 

 
Micah'GF   (2002-12-23 17:55) [0]

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


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

Типа того?
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.


 
MBo ©   (2002-12-23 18:07) [2]

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


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

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


UNIT Variables; // variables.pas
interface
VAR

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


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




 
Skier ©   (2002-12-23 18:24) [4]

UNIT Variables; // variables.pas

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


 
Skier ©   (2002-12-23 18:29) [5]

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

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


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

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


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

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


 
Skier ©   (2002-12-23 18:41) [8]

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


 
Dona ©   (2002-12-23 18:53) [9]

>Micah"GF

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


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

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


 
Dona ©   (2002-12-23 18:58) [11]


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
8-15178
pnp
2002-09-17 15:51
2003.01.06
Осциллограф


1-14998
Вопрошающий
2002-12-24 09:38
2003.01.06
Алгоритм расчета пени


1-15092
Masya2001
2002-12-21 21:20
2003.01.06
помогите как осущиствить?


7-15319
zalviko
2002-10-27 16:16
2003.01.06
Вопрос


7-15340
Дмитрий К.К.
2002-10-25 15:58
2003.01.06
Добавить в избранное: Internet Explorer