Topic: Release Notes
|
|
fareader
User
 Junior Boarder
| Posts: 15 |   | Karma: 0 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 11:16 |
|
|
|
|
|
Вскрытие показало, что проблемы с полями DateTime и Float у датасета TpFIBDataSet (при обращении к этим полям в родном их формате, т.е. AsDateTime AsFloat) - invalid floating point operation, начинаются после открытия TADQuery. Не знаю в чем соль.... Есть идеи?
|
|
Diman
Admin
 Admin
| Posts: 1482 |  | Karma: 19 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 11:48 |
|
|
|
|
Привет !
Попробуй так:
quote:3) Если не лень, то пройдись по коду по шагам (особо не заходя во внутрь процедур)и отслеживай значение Get8087CW. Как только изменится, то там **может быть** собака и зарыта ...
Посмотри для начала, какое значение Get8087CW до TADQuery.Open и какое после. Если значения разные, то открой daADPhysODBCWrapper, найди функцию DoExec, и посмотри на значение Get8087CW при входе в DoExec и при выходе.
Удачи, Дмитрий
|
|
fareader
User
 Junior Boarder
| Posts: 15 |   | Karma: 0 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 11:54 |
|
|
|
|
|
Ок, сейчас попробую. Но как может открытие TADQuery изменить форматирование данных у совершенно другого датасета?
|
|
fareader
User
 Junior Boarder
| Posts: 15 |   | Karma: 0 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 12:00 |
|
|
|
|
|
Get8087CW - 4722 и до открытия и после
|
|
Diman
Admin
 Admin
| Posts: 1482 |  | Karma: 19 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 12:24 |
|
|
|
|
quote:Но как может открытие TADQuery изменить форматирование данных Очень просто - TADQuery обращается к MSSQL ODBC драйверу, а тот может иметь "особенность поведения" - смена управляющего слова математического сопроцессора. А этого более чем достаточно для твоей ошибки ...
1) А если больший фрагмент твоих исходников пройти и отслеживать ? Ну например, до логин и после, до ExecSQL и после. 2) Попробуй установить AnyDAC v 1.0.2 3) Попробуй установить последний MDAC.
Удачи, Дмитрий
|
|
fareader
User
 Junior Boarder
| Posts: 15 |   | Karma: 0 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 12:46 |
|
|
|
|
1. После логина - все отрабатывает нормально, проблемы начинаются после ADQuery.Open 2. По поводу AnyDAC v 1.0.2 - у меня сейчас стоит AnyDAC v 1.0.1, мне просто проинсталировать новую версию или как-то сносить старую? 3. Уже выкачал и поставил MDAC 2.8 - результатов не дало
|
|
Diman
Admin
 Admin
| Posts: 1482 |  | Karma: 19 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 12:53 |
|
|
|
|
quote:1. После логина - все отрабатывает нормально, проблемы начинаются после ADQuery.Open
Что значит "нормально" ? Очень интересует изменение значения Get8087CW. Давай так - поставь точку останова в DRP сразу после begin и посмотри там Get8087CW. Какое оно ?
quote:2. По поводу AnyDAC v 1.0.2 - у меня сейчас стоит AnyDAC v 1.0.1, мне просто проинсталировать новую версию или как-то сносить старую?
Сделай бэкап $(ADHOME)DBADDemoConnections.ini, если ты в нем хранишь определения конектов. И инсталируй поверх.
|
|
fareader
User
 Junior Boarder
| Posts: 15 |   | Karma: 0 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 13:02 |
|
|
|
|
1. "Нормально" - означает, чтопри обращении к полю типа датавремя я получаю нормальное значение. Get8087CW не меняется ни под каким соусом - 4722 и все. 2. Сейчас попробую поставить AnyDAC v 1.0.2
|
|
fareader
User
 Junior Boarder
| Posts: 15 |   | Karma: 0 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 13:05 |
|
|
|
|
Обновление библиотеки компонентов ничего не дало
|
|
Diman
Admin
 Admin
| Posts: 1482 |  | Karma: 19 |
|
RE: Release Notes
|
|
Posted: 2005/05/25 13:30 |
|
|
|
|
Плохо ... Тогда несколько бредовых идей: 1) Перед строчкой приводящей к ошибке, напиши следующий код: asm FNCLEX end; 2) Если не помогло, то вместо этого напиши: try YourDoubleVariable := 0.0; except end;
Удачи (это уже не подпись а ... , Дмитрий
|
|
|