Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2010, 12:22   #1
whiskey
 
Регистрация: 12.10.2010
Сообщений: 8
По умолчанию как вставить ссылку на процедуру?

Всем Доброго Дня, Суть вот в чем - пишу программу из нескольких форм и чтобы не засорять их одними и теми же операциями в Юнит1 записаны все необходимые константы и процедуры, но почему-то при вставке их в другие юниты(подключение через interface) Делфи пишет - Undeclared identifier Процедура1..итд, причем константы его вполне устраивают

Вообщем выручайте!
whiskey вне форума Ответить с цитированием
Старый 16.10.2010, 12:43   #2
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

чтобы функции использовать нужно их объявить
Помню тоже когда то страдал этим вопросом
например
Код:
unit Unit1;

interface

function GetString: string;

implementation

function GetString: string;
begin
 Result:= 'This is a test';
end;

end.
alexprey вне форума Ответить с цитированием
Старый 16.10.2010, 12:46   #3
iama
 
Регистрация: 16.10.2010
Сообщений: 5
По умолчанию

судя по всему, нужно всего-то подключить модуль. добавьте название модуля, где константы, в список uses модуля, где они должны использоваться
iama вне форума Ответить с цитированием
Старый 16.10.2010, 13:18   #4
whiskey
 
Регистрация: 12.10.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от alexprey Посмотреть сообщение
чтобы функции использовать нужно их объявить
Они у меня обьявлены в 1 юните
Код:
unit U1;
.........
........
procedure ReadTest;
  begin
AssignFile(FTest, FileName);
Reset(FTest);
Read(FTest,Test);
CloseFile(FTest);
end;
Но потом когда я хочу всавить их в юнит 2
Код:
Unit U2;
Interface
Uses U1;
...........
...........
procedure TForm2.Button6Click(Sender: TObject);  
begin
FileName:=Edit1.text;
if FileExists(FileName)then begin ReadTest;
end
else begin ShowMessage('Файл отсутствует'); 
Exit end;
Делфи ругается на процедуру

Последний раз редактировалось whiskey; 16.10.2010 в 13:21.
whiskey вне форума Ответить с цитированием
Старый 16.10.2010, 13:34   #5
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Так нужно вот так
сначала объявить их глобально
Код:
unit U1;
.........
........
procedure form1.ReadTest;
  begin
AssignFile(FTest, FileName);
Reset(FTest);
Read(FTest,Test);
CloseFile(FTest);
end;
Код:
procedure TForm2.Button6Click(Sender: TObject);  
begin
FileName:=Edit1.text;
if FileExists(FileName)then begin form1.ReadTest;
end
else begin ShowMessage('Файл отсутствует'); 
Exit end;
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 16.10.2010, 13:48   #6
whiskey
 
Регистрация: 12.10.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от dmitriegorovih Посмотреть сообщение
Так нужно вот так
сначала объявить их глобально

Код:
procedure form1.ReadTest;
"TForm1 does not contain a member named ReadTest" , делфи тут прав - нужно обьявлять НЕ через форму, так как к форме процедура никакого отношения не имеет

Последний раз редактировалось whiskey; 16.10.2010 в 13:53.
whiskey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вставить в ячейку ссылку на фаил Lis000iq Microsoft Office Excel 3 11.06.2010 23:55
как вставить ссылку на ячейку в документе Excel в Word? ruavia3 Microsoft Office Excel 3 19.03.2009 21:32
как вставить ссылку в Word на ячейку в документе Excel? ruavia3 Microsoft Office Word 2 19.03.2009 21:24
Как зупустить ссылку в IE? Черничный Общие вопросы Delphi 2 11.08.2008 20:01
Как с поиощью hiew вставить в файл строчку, "раздвинуть" файл и вставить туда строчку? barand Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.06.2008 10:58