Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.57 MB
Время: 0.072 c
15-1165562990
KrylovVN
2006-12-08 10:29
2006.12.31
TCP/IP - UDP


8-1147428756
Torin
2006-05-12 14:12
2006.12.31
Модем, проиграть wav и записать ответ


15-1165668405
Сатир
2006-12-09 15:46
2006.12.31
Delphi 7 Build 4.453


15-1165500303
Караед
2006-12-07 17:05
2006.12.31
ПОМОГИТЕ РАЗОБРАТЬСЯ С ЗАДАЧЕЙ


11-1142575284
Unknown Mystic
2006-03-17 09:01
2006.12.31
Ошибка в TKOLOpenDirDialog из MCK?