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

Вниз

Как отключить загрузку ODBC-драйвера?   Найти похожие ветки 

 
cvg   (2008-11-27 11:55) [0]

Ситуация такая: на одном компе программа может работать в двух режимах -- боевом и тестовом. Для боевого данные берутся из базы MySQL, для тестового -- из текстового файла. На соседнем компе хочу иметь возможность запускать эту же программу, но только в тестовом режиме, она же пытается прицепиться к БД через ODBC, а поскольку их там никогда и не стояло, отзывается матом. В частности, говорит, что-де не может загрузить файл libmysql.dll, хотя я запихнул его и в текущий директрий, и в системную папку, и в c:\util... Вопрос: как сделсть так, чтобы если ODBC нет, то она бы и не пыталась его грузить? Подвопрос: почему она не может-таки найти libmysql.dll?


 
Поросенок Винни-Пух ©   (2008-11-27 12:17) [1]

myproga.exe -m combat
myproga.exe -m test

if <combat> then
...
else
....


 
Ega23 ©   (2008-11-27 12:19) [2]


> Вопрос: как сделсть так, чтобы если ODBC нет, то она бы
> и не пыталась его грузить?


Писать нормальные программы, которые устанавливают коннект по факту, а не на MainForm.Create


> Подвопрос: почему она не может-таки найти libmysql.dll?


А ты уверен, что достаточно её по пути положить? Я - нет. С ней не работал, но вполне возможно, что регистрировать надо через regsvr32, или ещё чё-нить в реестре прописывать.


 
clickmaker ©   (2008-11-27 12:28) [3]

да это известная проблема с libmysql - какой-то косяк с версиями
нормально пофиксили вроде только в Д2007


 
cvg   (2008-11-27 13:34) [4]

To Ega32: А вот бы еще узнать, где именно она устанавливает коннект... В MainFormUnit в uses перечислены: ... DBXpress, DB, SqlExpr, DBTables. В этом что ли дело?


 
sniknik ©   (2008-11-27 13:43) [5]

> где именно она устанавливает коннект...
а ты разве не знаешь? твоя программа. где первый Open/ExecSql сделан? небось в дизайне уже имеются открытые запросы.

> да это известная проблема с libmysql - какой-то косяк с версиями
> нормально пофиксили вроде только в Д2007
точно? т.е. независимо от нужности само делает коннект?
тогда вынести все в датамодуль, и создавать его самому  ->
> myproga.exe -m combat
> myproga.exe -m test

> if <combat> then
 Application.CreateForm(TDataModule, DataModule1);
>  ...
> else


 
clickmaker ©   (2008-11-27 14:01) [6]

> точно? т.е. независимо от нужности само делает коннект?

да нет... не загружается, куда его ни клади
слышал про такой косяк в соответствии версии dbexpress и этой dll. возможно, и с odbc что-то подобное


 
Ega23 ©   (2008-11-27 14:26) [7]


> А вот бы еще узнать, где именно она устанавливает коннект.


Программа твоя или нет? Если нет - то без исходников узнать будет сложно.
Если твоя - то для начала отказаться от открытия любых запросов в дизайн-тайм. Как привыкнешь и поймёшь как это работает - начинать уже по-нормальному пользоваться.


 
cvg   (2008-11-27 15:06) [8]

Программа моя. Закомментарил все вызовы функций, обращающихся к MySQL, в результате вторая машина выполняет программу в тестовом режиме нормально. Насколько понимаю, можно использовать вариант, когда в тестовом режиме на второй машине она запускается с параметром (на основоной машине я обычно запускаю ее в отладчике). Вот только не понял, что такое "-m" в [5]...


 
sniknik ©   (2008-11-27 15:15) [9]

> Вот только не понял, что такое "-m" в [5]...
то же самое что в [1], в [5] это вообще то комментарий оттуда, с добавлением одной строки которая показывает как можно было бы сделать.


 
cvg   (2008-11-27 15:27) [10]

Ну я понял, что оттуда... Просто что это за опция? Или где прочитать ее описание?


 
Ega23 ©   (2008-11-27 15:56) [11]


> Просто что это за опция?


Это не опция, это так называемый параметр. Почитать про это можно в справке по ParamCount и ParamStr.
А как пример - ну, например, вызов архиватора из командной строки:
zip /p /o /a d:\ttt e:\ttt.zip /s1
(писал от балды)


 
cvg   (2008-11-27 16:11) [12]

Прочитал про обе функции. Так и не понял, почему нельзя вызывать сразу в виде "myproga.exe myparam"


 
Amoeba ©   (2008-11-27 16:14) [13]


> cvg   (27.11.08 16:11) [12]
>
> Прочитал про обе функции. Так и не понял, почему нельзя
> вызывать сразу в виде "myproga.exe myparam"
>

Почему нельзя? Можно, и в рассматриваемом случае достаточно.


 
Ega23 ©   (2008-11-27 16:15) [14]


> Так и не понял, почему нельзя вызывать сразу в виде "myproga.
> exe myparam"


Почему нельзя? Можно.

if ParamCount>1 then
begin
 if UpperCase(ParamStr(1))="COMBAT" then Включаем боевой режим;
 if UpperCase(ParamStr(1))="TEST" then Иключаем тестовый режим;
end;



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

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

Наверх





Память: 0.48 MB
Время: 0.009 c
2-1227969919
snake-as
2008-11-29 17:45
2009.01.11
Поиск в поткаталогах


15-1226659411
sefon
2008-11-14 13:43
2009.01.11
У кого есть подшивка журнала Моделист-Конструктор ?


2-1227729324
Евгений Р.
2008-11-26 22:55
2009.01.11
RichEdit и простой текст


2-1227860921
atom321
2008-11-28 11:28
2009.01.11
челая часть числа


2-1227704598
nachinayuschij
2008-11-26 16:03
2009.01.11
TPopupMenu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский