Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

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, где всё от / идёт...



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.154 c
1-1163079758
Сатир
2006-11-09 16:42
2006.12.31
Прорисовка формы на панели другой формы


4-1156328889
sem2001
2006-08-23 14:28
2006.12.31
Процессы


2-1165852682
Makhanev Alexander
2006-12-11 18:58
2006.12.31
смена состояния always on top на лету...


2-1165616226
XfroSt
2006-12-09 01:17
2006.12.31
Как установить курсор в нужное место в МЕМО (строка,символ) ?


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский