![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как получить инфу о версии офиса на уровне прекомпилятора? [D6, Win95/98, Win2k, WinXP]
Sparrow © (2004-07-14 15:13:00)иначе говоря, как пишется та DEFINE константа которая обозначает версию оффиса?
Piter (2004-07-14 22:38:00) [1]Народ, хватит прикалываться.
Sparrow, такой директивы нету и быть не может. Логичнее определять версию офиса при запуску программы и в результате вызывать те или иные функции. Тогда программа будет работоспособна на любых машинах и не надо будет делать build для каждого офиса.
Fay (2004-07-14 20:05:00) [2]Потом потребуется определить версию Автосхемы...
Тимохов (2004-07-14 19:53:00) [3]
> А еще мне кажется: он считает, что при запуске exe файла
> проходит компиляция программы...
может он с CRL начинал?
Palladin (2004-07-14 19:46:00) [4]А еще мне кажется: он считает, что при запуске exe файла проходит компиляция программы...
Тимохов (2004-07-14 19:40:00) [5]
> Не, не в делфи, он считает, в системе...
ну ваще...
Palladin (2004-07-14 19:36:00) [6]Не, не в делфи, он считает, в системе...
Тимохов (2004-07-14 19:34:00) [7]я понял что спрашивает автор: он считает, что в дельфи есть такая уже определенная директива условной компиляции, которая говорит о версии offic'а.
Palladin (2004-07-14 19:31:00) [8]Трудно быть идиотами, но народ, смотрю старается. (C) Ketmar
Fay (2004-07-14 19:16:00) [9]- Привет, мозг!
- Привет, орехи!
Sandman25 (2004-07-14 17:39:00) [10]Project.
Options
Directories/Conditionals
Conditionals
Неужели трудно изменить одно значение перед компиляцией на своей машине?
Sparrow (2004-07-14 15:45:00) [11]я вот тоже втолковать пытаюсь что есть системные константы такие как MSWINDOWS и LINUX которые тоже определены взаимоисключающим образом... так вот мне нужны для офиса такие
Smithson (2004-07-14 15:41:00) [12]Ну тебе же пытаются объяснить, что на момент компиляции ты можешь получить инфу только об офисе на той машине, где идет компиляция. А программа будет работать на другой машине... Если же она будет работать на этой, то уж про свой же компьютер ты как-нибудь знаешь, какой на нем офис, нет?
Sparrow (2004-07-14 15:38:00) [13]это понятно, я и говорю что строка {$DEFINE PAROVOZ} будет различна для различных машин, а мне охота исп. системные define константы, что бы в будущем не париться
Reindeer Moss Eater (2004-07-14 15:35:00) [14]{$DEFINE PAROVOZ}
.....
{$IFDEF PAROVOZ}
Моя строчка кода для Word97;
{$ELSE}
Моя строчка кода для WordXP;
{$ENDIF}
Sparrow (2004-07-14 15:32:00) [15]я хочу для этой условной компиляции использовать системные константы... потому что мое собственное определение констант все же приведет к тому что одна строчка кода в одном проекте будет отличаться на двух разных машинах
Reindeer Moss Eater (2004-07-14 15:28:00) [16]Ты свойкод хочешь подвергнуть условной компиляции?
Какие проблемы?
Назови хоть "паровозом" версию 2000 и используй наздоровье.
Sparrow (2004-07-14 15:23:00) [17]а ты знаешь где определена константа MSWINDOWS?
Sparrow (2004-07-14 15:23:00) [18]вот тебе ситуация 2 машины
на одной офис2000
на другой офис2002
разработка ведется параллельно... т.е. участки кода могут быть общими применbтельно к созданию отчетов в экселе ну и на одной машине придется
uses excel2000 а на другой
uses excel2002
т.е. проект перенесенный с одной машины на другую просто не захочет собираться без изменения юзов
Reindeer Moss Eater (2004-07-14 15:22:00) [19]Любое имя можно выбрать. Компилятор здесь не при чем.
{$DEFINE ANY_NAME_I_LIKE_FOR_EXCEL2000}
{$IFDEF ANY_NAME_I_LIKE_FOR_EXCEL2000}
{$ELSE}
{$ENDIF}
Sparrow (2004-07-14 15:20:00) [20]uses
...
{$IFDEF MSWINDOWS} windows {$ENDIF}
{$IFDEF OFFICE8} excel97 {$ENDIF}
{$IFDEF OFFICE9} excel2000 {$ENDIF}
...
вот насчет офисных констант я и спрашиваю, я их юзал давно и забыл как они пишутся