|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
процудура для всех юнитов
У меня есть Unit1, Unit2...Unit_X
Нужно чтобы каждом из этих Unit'ов работала созданная мною процедура (допустим GetCount). Где ее нужно прописать |
#2
|
||||
|
||||
Раздел public
|
#3
|
|||
|
|||
Внизу пишет:
[Error] Unit2.pas(151): Overloaded procedure 'GetCount' must be marked with the 'overload' directive Что делать? |
#4
|
||||
|
||||
Например:
Код:
procedure GetCount; begin Код процедуры end; Код:
public procedure GetCount; |
#5
|
||||
|
||||
У меня проблем не было, проверь.
|
#6
|
||||
|
||||
Winny, ты не то пишешь, ты написал про функции формы, которая содержится в модуле, а это не то.
Кароч, есть 2 похожих способа решения данной проблемы. 1) Запихнуть процедуру, например, в Unit1, а потом в остальных юнитах в Uses добавлять Unit1. 2) Создать текстовый документ, в него поместить процедуру, переименовать файл и сделать расширение *.inc. Затем перед тем местом где будет использоваться данная процедура (перед началом процедуры\функции пишешь {$I Имя_Файла_С_ПРОЦЕДУРОЙ.inc}. Есесьно писать это надо 1 раз в модуле. Пример Файл MyFunc.inc Код:
function Sum(X, Y : Integer) : Integer; begin Result := X + Y; end; Код:
unit Unit1; ........... interface ........... implementation ........... {$I MyFunc.inc} procedure TForm1.FormCreate(Sender: TObject); begin Caption := IntToStr(Sum(2, 3)); end; Не профи, но и не чайник . D6 - лучше не придумали. Пока. |
#7
|
||||
|
||||
Понятно, что не понял Lie
|
#8
|
||||
|
||||
Так же можно создать свой pas юнит с процедурами\функциями и, там, где нужно юзать процедуры\ф-ии из этого юнита, просто добавлять его в Uses. Причем наш юнит с процедурами\ф-ми можно вообще положить куда-нить на винт и юзать этот модуль вообще из любых своих проектов, просто добавив путь до папки в настройки среды (в Library path) и добавив в нужный проект в uses наш модуль, например:
типа наш юнит: Код:
unit DFunctions; interface // used units & modules uses //... const //... procedure CopyAllFiles(sFromFolder: String; sToFolder: String); implementation procedure CopyAllFiles(sFromFolder: String; sToFolder: String); begin //... end; end. Кидаем этот юнит куда-нить на винт, отдельно от наших проектов. Добавляем путь до папки в среду разработки, а потом, при написании проектов, если мы вдруг захотим юзать процедурку CopyAllFiles, то мы просто в Uses добавляем DFunctions, и спокойно в любом месте текущего нашего юнита вызываем эту процедурку. Можно, чтобы было понятнее, откуда она, вызывать ее так: Код:
DFunctions.CopyAllFiles(...); THE CRACKER IS OUT THERE Последний раз редактировалось 4kusNick, 12.10.2007 в 22:42. |
#9
|
|||
|
|||
а может лучше File>Use Unit ?
не знаю куда оно прописывется, давно читал, но вроде работает |