| 
| Dmitri | 
|  Отправлено: 11.03.2004, 18:56 |  |  
| 
 admin@localhost
 
 Группа: Модератор
 Сообщений: 110
 
 
 
  
 | Мистика... на одном компе программа работает, на другом в ходе ее работы происходит Floating point overflow. 
 Исходник один. Компилятор — CB 5.0, настройки вроде бы одинаковые (стандартные). Другое дело, на втором компе совместно с CB 5.0 стоит MSVC .NET, но разве это может как-то повлиять на работу программы?..
 |  
|  |  
| klen | 
| Отправлено: 12.03.2004, 01:56 |  |  
| 
 Машинист паровоза
 
 Группа: Участник
 Сообщений: 239
 
 
 
  
 | Такое может быть легко и не принужденно! Трудно сказать конкретно что именно у тебя там происходит, но есть соображения.
 
 1. Какой у тебя исходник?? Малоли че у тебя там. Например многие VCL компоненты используют элементы управления Win32, расположенные например в COMMDLG.DLL, эта библиотека обновляется в каждой версии виндов, далее мысь понятна чем это грозит в принципе.
 Поэтому посмотри какие dll загружаются и сравни их на двух машинах. Мож обнаружишь че.
 2. Если ты линкуешь с пакетами, то на другой машине должныбыть теже пакеты (не путать с пакетами тойже версии, потомучто например некоторые пакеты пересобираются IDE когда ты ставишь какиенибудь компоненты), дальше мысль также ясна, как и то что в принципе как и первом случае должна быть совместимость бинарного кода пересобраного пакета.
 3. Самое распространенное (чесно слово, у меня по крайней мере)  — код то один, но вот заголовки разные системные или твоиже на этих двух этих машинах. Вот компилятор и генерит по неправильному заголовку неправильную передачу параметров в фунцию, или доступ к полю в классе которого нет на самом деле. В результате эксепшен в лучшем случае.
 4. Так как у тебя проблема с плавающей запятой то тут тоже могут быть варианты. Смотри из чего линкуется твоя байда.
 5. Curve hands (читай — ошибка в самой программе: на одной машине одна ветка алгоритма выполняется, на другой вторая)
 
 |  
|  |  |