Текущий архив: 2006.12.31;
Скачать: CL | DM;
ВнизRelative path name в Delphi. Найти похожие ветки
← →
lookin © (2006-12-02 00:32) [0]Как задать относительный путь к pas-файлу, размещенному в C:\Program files\ Borland\Delphi6\Imports? Что-то не получается..
← →
Чапаев © (2006-12-02 00:39) [1]Хмык... Относительный относительно чего, пардон за невольный каламбур?
← →
ANTPro © (2006-12-02 00:45) [2]$(Delphi)\Imports ?
← →
Германн © (2006-12-02 00:51) [3]
> ANTPro © (02.12.06 00:45) [2]
>
> $(Delphi)\Imports ?
>
Это не относительный, а самый что ни на есть абсолютный.
← →
ANTPro © (2006-12-02 00:59) [4]> [3] Германн © (02.12.06 00:51)
Относительный, абсолютным он станет после замены $(Delphi) Делфёй.
← →
Eraser © (2006-12-02 01:06) [5]> [4] ANTPro © (02.12.06 00:59)
набор слов )
← →
lookin © (2006-12-02 01:11) [6]> [3] Германн © (02.12.06 00:51)
Не помогает, кстати говоря...
← →
Чапаев © (2006-12-02 01:14) [7]> [6] lookin © (02.12.06 01:11)
Да ты объясни толком, чего хочешь...
← →
ANTPro © (2006-12-02 01:18) [8]> [5] Eraser © (02.12.06 01:06)
:)
← →
Vga © (2006-12-02 01:23) [9]> [4] ANTPro © (02.12.06 00:59)
Он абсолютный, с макроподстановкой.
← →
lookin © (2006-12-02 01:26) [10]Объясню с удовольствием...
uses
Tratata.pas in "$(Delphi)\Imports\Tratata.pas"
не проходит. Или я неправильно понял...
← →
Vga © (2006-12-02 01:27) [11]> [10] lookin © (02.12.06 01:26)
Выкинь путь и пропиши в свойствах проекта Search Path: $(DELPHI)\Imports.
← →
lookin © (2006-12-02 01:32) [12]> [11] Vga © (02.12.06 01:27)
Лучше путь, так как проект на разных машинах компилируется...
← →
DesWind © (2006-12-02 01:42) [13].\Delphi или ..\Delphi ?
← →
Vga © (2006-12-02 01:45) [14]> [12] lookin © (02.12.06 01:32)
Чем лучше? Эта настройка задает путь, по которому ищутся модули, если для них не задан явно путь. Тебе надо линковать модуль из стандартной поставки Delphi, как я понял. А путь к установленному дельфи (и соответственно файлу) заранее не известен. Для этого и есть макросы, но в .pas файле они AFAIK не обрабатываются, только в опциях. При открытии проекта Delphi автоматически подставит вместо $(DELPHI) путь до папки, где установлена и его и пропишет в файл настроек компилятора (.cfg).
← →
Германн © (2006-12-02 01:50) [15]
> lookin © (02.12.06 01:32) [12]
>
> > [11] Vga © (02.12.06 01:27)
>
> Лучше путь, так как проект на разных машинах компилируется.
> ..
>
Олег. Неужели так трудно объяснить задачу на русском языке?
← →
lookin © (2006-12-02 01:55) [16]Всем (и Германну тоже))). Я на русском и объяснил. Постараюсь еще раз... Модуль не из стандартной поставки Дельфи. Просто есть tlb-шник. И сопуствующие ему dcu и pas. Их требуется разместить в папке \Borland\Delphi6\Imports. В проекте искомые pas-ки прописаны пока что напрямую... "C:\Tratata\UhTratata\Net-EsheRazTratata\Teper_Borland\OnceMoreBorland\Delphi897\NoItIsDelphi6\Ipmorts\NoI tIsImportsMustBeHere\Delphi6\Imports\MyPascalFile.pas"
Так как игнорировать все пути, кроме папки, уже принадлежащей Дельфи?
← →
lookin © (2006-12-02 01:57) [17][15] Германн © (02.12.06 01:50)
Я, честно, никого не пытаюсь запутать или сбить... Ну так получается у меня на сейчас свои мысли выражать)))
← →
lookin © (2006-12-02 01:58) [18]В конечном счете, вот это сработает?
program Project1;
uses
Forms,
Unit1 in "Unit1.pas" {MainForm},
HypApi in "HypApi.pas",
ThreadUnit in "ThreadUnit.pas",
KalibrUnit in "KalibrUnit.pas" {KalibrForm},
Global in "Global.pas",
GridUnit in "GridUnit.pas" {GridForm},
ExportUnit in "ExportUnit.pas" {ExportForm},
ABUnit in "ABUnit.pas" {ABForm},
eYUnit in "eYUnit.pas",
StarUnit in "StarUnit.pas" {StarForm},
ThreadCont in "ThreadCont.pas",
eY_TLB in "..\..\Program files\Borland\Delphi6\Imports\eY_TLB.pas",
EqapAll_TLB in "..\..\Program files\Borland\Delphi6\Imports\EqapAll_TLB.pas",
SignalUnit in "SignalUnit.pas" {SignalForm},
Unit2 in "Unit2.pas";
← →
Германн © (2006-12-02 02:01) [19]
> lookin © (02.12.06 01:55) [16]
>
> Всем (и Германну тоже))). Я на русском и объяснил. Постараюсь
> еще раз... Модуль не из стандартной поставки Дельфи. Просто
> есть tlb-шник.
Наверно я ещё до этого не дорос. Что есть tlb-шник не знаю. Посему молчу:-(
← →
lookin © (2006-12-02 02:05) [20][19] Германн © (02.12.06 02:01)
Ну я просто попытался сделать взаимодействие между программами. Я сам не знаю, что такое суть tlb, но именно в нем я прописал интерфейс взаимодействия программ. Т.е. указал все процедуры/функции, по которым из одного приложения можно вызывать действия в другом... Суть не в этом... Суть в том, чтобы прописать в проекте указатели на те файлы, которые необходимо компилировать в составе проекта для получения нужного резалта...
← →
Германн © (2006-12-02 02:08) [21]
> lookin © (02.12.06 01:58) [18]
>
> В конечном счете, вот это сработает?
>
> program Project1;
>
> uses
> Forms,
> Unit1 in "Unit1.pas" {MainForm},
> HypApi in "HypApi.pas",
> ThreadUnit in "ThreadUnit.pas",
> KalibrUnit in "KalibrUnit.pas" {KalibrForm},
> Global in "Global.pas",
> GridUnit in "GridUnit.pas" {GridForm},
> ExportUnit in "ExportUnit.pas" {ExportForm},
> ABUnit in "ABUnit.pas" {ABForm},
> eYUnit in "eYUnit.pas",
> StarUnit in "StarUnit.pas" {StarForm},
> ThreadCont in "ThreadCont.pas",
> eY_TLB in "..\..\Program files\Borland\Delphi6\Imports\eY_TLB.
> pas",
> EqapAll_TLB in "..\..\Program files\Borland\Delphi6\Imports\EqapAll_TLB.
> pas",
> SignalUnit in "SignalUnit.pas" {SignalForm},
> Unit2 in "Unit2.pas";
>
Только в стандартных случаях.
А в прочих TRegistry и WinAPI тебе в помощь в определении каталогов, куда установлена Дэлфи.
← →
DesWind © (2006-12-02 02:08) [22]"..\" - такая форма, наскока помню этов вверх на уровень от текущей папки размещения проекта, а покатит или нет это решать тебе.
← →
lookin © (2006-12-02 02:09) [23]>>Германн
Что-то я уверен, что ты понимаешь, о чем речь. Вот пример окошка, в котором я делал необходимое (25 кБ) http://eqap.narod.ru\zzz.jpg
← →
DrPass © (2006-12-02 02:14) [24]
> eY_TLB in "..\..\Program files\Borland\Delphi6\Imports\eY_TLB.
> pas",
> EqapAll_TLB in "..\..\Program files\Borland\Delphi6\Imports\EqapAll_TLB.
> pas",
Вот так напиши:
eY_TLB in "eY_TLB.pas",
EqapAll_TLB in "EqapAll_TLB.pas"
И убедись, что папка Delphi\Imports присутсвует в списке Tools - Environment - Library Path
← →
lookin © (2006-12-02 02:19) [25][24] DrPass © (02.12.06 02:14)
Папка присутсвует...
Должен сказать, что проект в другой системе, без сети и пр. Так что сейчас проверить не могу, но проверю обязательно при случае...
Однако, я эту папку не вписывал сюда (в текущей системе, у меня Дельфи и здесь и там). Значит, в той системе она тоже должна быть прописана по умолчанию. А отсюда следует, что это все не поможет...
← →
Eraser © (2006-12-02 02:19) [26]> lookin ©
на компьютере установлено сколько версий Делфи?
← →
Vga © (2006-12-02 02:22) [27]> [25] lookin © (02.12.06 02:19)
Вот для этого и существует Project Options->Directories&Conditionals->Search Path. Это добавления к Library Path для конкретного проекта.
← →
DesWind © (2006-12-02 02:22) [28]
> Eraser © (02.12.06 02:19) [26]
При использовании $Delphi роли не играет, по краней мере когда стоит 6,7,TB
← →
Vga © (2006-12-02 02:23) [29]> [28] DesWind © (02.12.06 02:22)
BDS"ки тоже адекватно понимают, хотя у них появился новый макрос - $(BDS)
← →
lookin © (2006-12-02 02:24) [30][26] Eraser © (02.12.06 02:19)
Если вообще, то на систему по одной штуке... В одной каждой системе - 1 версия Дельфи...
← →
DesWind © (2006-12-02 02:27) [31]
> Vga © (02.12.06 02:23) [29]
Оговрился. Имел ввиду 6,7,TD(Turbo Delphi)
← →
Eraser © (2006-12-02 02:31) [32]хм.. странно что не работает тогда.
попробуй [27], кстати лучше сохранять импортированные TLB в отдельной папке, а не в общей кучи, т.к. в BDS, для установки компонента, нужно создавать пакет, а тут уж желательно следовать негласному правилу: один пакет - одна папка.
← →
lookin © (2006-12-02 02:33) [33][32] Eraser © (02.12.06 02:31)
Для сырой Дельфи казалось бы все равно, где находится TLB. Сырой = только установленной...
← →
Vga © (2006-12-02 02:44) [34]> [31] DesWind © (02.12.06 02:27)
Я понял. Я к тому, что не уверен, что TD воспринимает себя как BDS (нету у меня TD, проверить не на чем).
← →
Германн © (2006-12-02 03:06) [35]
> lookin © (02.12.06 02:09) [23]
>
> >>Германн
>
> Что-то я уверен, что ты понимаешь, о чем речь. Вот пример
> окошка, в котором я делал необходимое (25 кБ) http://eqap.
> narod.ru\zzz.jpg
>
Увы. "Сервер не найден" отвечает FF, который я сейчас пользую.
← →
Vga © (2006-12-02 03:09) [36]> [35] Германн © (02.12.06 03:06)
А Опера без проблем видит... Может, бэкслэш на слэш заменить надо?
← →
lookin © (2006-12-02 03:10) [37][36] Vga © (02.12.06 03:09)
Ну это уж моя вина...
← →
Чапаев © (2006-12-02 13:02) [38]> [10] lookin © (02.12.06 01:26)
Если проект не на диске c:, то и не пройдёт в принципе. Лучше не майся дурью, а скопируй нужный файл в папку своего проекта.
← →
lookin © (2006-12-09 23:40) [39]вот такое срабатывает, независимо от диска, кажется...
eY_TLB in "..\..\Program files\Borland\Delphi6\Imports\eY_TLB.pas"
← →
Чапаев © (2006-12-10 00:29) [40]> срабатывает, независимо от диска
НЕ МОЖЕТ в Винде относительный путь срабатывать "независимо от диска". Это тебе не Unix, где всё от / идёт...
← →
lookin © (2006-12-10 00:32) [41]> [40] Чапаев © (10.12.06 00:29)
Не могу сказать уверенно, но на двух машинах с Win22000 сработало, при установленной Delphi на разных дисках... Чего мне и хотелось...
Страницы: 1 2 вся ветка
Текущий архив: 2006.12.31;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.046 c