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

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

глобальная переменная - доступ из всех форм [D2005]


ply ©   (2008-01-20 07:03:00) 

нужно чтобы к объекту класса соединения с MySQL был доступ из всех форм.
создал отдельный юнит:

unit Unit1;
interface
uses mysql,mysqlclasses;
var
MySQL: IMySQL;

implementation

procedure initsql();
begin
 MySQL:=TMySQL.Create;
end;

end.

подключаю его к Form1 и в Tform1.OnCreate вместо создания объекта Mysql:=TMySQL.Create вызываю initsql

результат - компилятор ругается на то что неизвестная переменная при обращению к любому свойству Mysql


Anatoly Podgoretsky   (2008-01-20 19:07:00) [1]

> ply  (20.01.2008 17:20:07)  [7]

Конечно не видимая, поскольку локальная.


{RASkov}   (2008-01-20 17:28:00) [2]

> [7] ply   (20.01.08 17:20)
> Говорит: undeclared identifier: 'ret'

В интерфейсной части модуля, описание сделай...


Плохиш   (2008-01-20 17:23:00) [3]


> ply   (20.01.08 17:20) [7]

Читай статью ещё много раз, учитывая, что всё, что верно для переменных/констант, то и соответственно должно применяться к процедурам и функциям. Логика, знаешь ли, если описания читать - не царское дело...


ply   (2008-01-20 17:20:00) [4]

С переменными разобрался, но на функции ругается.
главная форма:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs,unit2;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage(ret('Hello!'));
end;

end.

юнит:
unit Unit2;

interface

implementation

function ret(s:string):string;
begin
 result:=s;
end;
end.

Говорит: undeclared identifier: 'ret'


Anatoly Podgoretsky   (2008-01-20 16:52:00) [5]

> ply  (20.01.2008 16:48:04)  [4]

Ты не статью нам показывай.


Плохиш   (2008-01-20 16:51:00) [6]


> ply   (20.01.08 16:48) [4]

В статье правильно написано, а что пишешь ты, нам не ведомо...


ply   (2008-01-20 16:48:00) [7]

убрал initsql, осталось тока объявление переменной.
согласно этой статье переменная должна быть во всех формах
http://www.delphimaster.ru/articles/advice/answer19.html

однако компилятор ругается на то что аткой переменной нет...


Плохиш   (2008-01-20 16:41:00) [8]


> подключаю его к

слова, слова...


ply   (2008-01-20 15:51:00) [9]

так у меня даже не компилируется=)
как будто переменная MySQL не переходит в Form1...


Юрий Зотов   (2008-01-20 10:15:00) [10]

Начнем сначала. Что будет, если вызвать initsql несколько раз?


Наверх

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