![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Связь между юнитами [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.