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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2011, 00:21   #1
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию Обратиться к процедуре в другом юните

Подскажите пожалуйста, как обратиться к процедуре которая лежит в другом юните? Это для меня впервой.
Делал так:
1.Создал Юнит(New->Unit)
2.Написал между implementation и end. процедуру свою:
Код:
unit Unit2;
interface
implementation
procedure rrr(s:tstringlist);
begin
  s:=Tstringlist.create;
  s.add('строка');
end;
end.
3. Подключил ее в uses первого юнита
4. Как теперь к ней обратиться из первого юнита?
Пробовал так:
Код:
unit2.rrr(MyStringList);
Да и вообще по всякому...Не получается. Обьясните пожалуйста как правильно?
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 03.01.2011, 00:33   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Код:
unit Unit2;
interface

procedure rrr(s:tstringlist); // Делаем процедуру доступной в других модулях.

implementation

procedure rrr(s:tstringlist);
begin
  s:=Tstringlist.create;
  s.add('строка');
end;

end.
Для использования надо добавить этот юнит в Uses... И вызвать как обычно. Можно не указывав Юнит...

Код:
rrr(s);
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 03.01.2011, 00:41   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Еще что то надо указать? Просто у меня андекларейт на
Код:
procedure rrr(s:tstringlist);
UPD Всё, спасибо) Вписал юзесы во второй юнит)
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 03.01.2011 в 00:46.
MyLastHit вне форума Ответить с цитированием
Старый 03.01.2011, 00:44   #4
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Делфи не понимает что такое tstringlist...
Тебе нужно в новом модули подключить модуль в котором будет описание tstringlist.. Вроде как это есть в StdCtrls.

unit Unit2;
interface

Uses Windows, StdCtrls, SysUtils; // какойто из этих....

procedure rrr(s:tstringlist); // Делаем процедуру доступной в других модулях.

implementation
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 03.01.2011, 02:53   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

или Classes или SysUtils надо подключить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.01.2011, 18:23   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

нужно Classes
Alter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в процедуре H_U_M_M_E_R Помощь студентам 2 02.06.2010 18:51
Как обратиться к переменой в другом модуле. nusik Общие вопросы C/C++ 5 02.07.2009 14:56
Вопрос по процедуре VenMaster Общие вопросы Delphi 5 13.06.2008 17:37
Ошибка в процедуре GAGARIN-NEW Помощь студентам 2 21.12.2007 09:23