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