7°C
завтра: 3°C
Погода в Перми
7°C
ночью0°C
утром−1°C
завтра3°C
Подробно
 64,68
+0.6996
Курс USD ЦБ РФна 26 апреля
64,6794
+0.6996
 72,11
+0.3961
Курс EUR ЦБ РФна 26 апреля
72,1111
+0.3961
PRM.Форум /Компьютеры Интернет Связь / Программирование /

Проблема с программой на C++ Builder 6.0

  • AntareSFire

    Анонимный пользователь

    Здрасте народ, вот решил обратится к вам за помощью, потому что сам уже голову сломал себе вроде все очевидно, а ошибку найти не могу, помогите плиз.
    Суть проблемы такова, написал на Builder'е С++ клиент и сервер, задача клиента отправка на сервер числа, задача сервера возведение числа в квадрат и отправка клиенту. Все идет нормально, запуск сервера, коннект и дисконнект клиента, но как дело доходит до возведения в квадрат вылетает fatal error типа "is not a valid floating point value" причем компиль происходит без ошибок, эта ошибка вылетает на стадии исполняемого exe-файла. Я тут прикрепил исходники, помогите если есть время (процедура в конце файла server.cpp)
    Заранее всем спасибо. :улыб:

  • guru

    Сообщений: 4281

    отправляете число как? как текст?
    если как текст - то удалите в принятой строке cr+lf - возможно дело именно в этом.

    ЗЫ код не смотрел.

    Non solum oportet, sed etiam necessese est

  • AntareSFire

    Анонимный пользователь

    Я всегда использовал StrToFloat, правда текст брался с edit'ов, а не передавался и се работало, а как убрать cr+lf не подскажите.:улыб:

  • guru

    Сообщений: 4281

    проверить два последних символа полученной строки, и если они равны cr+lf удалить путем копирования строки в новую строку без послдених двух символов.
    В ответ на: правда текст брался с edit'ов
    естественно там нет cr+lf =)
    смотрите код сами, направление отчего это может быть я вам дал =)
    смотрите как передается строка, смотрите как она получается, какими методами. поставте эксепшн на преобразовании StrToFloat дабы проверить что ошибка в этой части. Используйте отладчик в конце концов ))))

    Non solum oportet, sed etiam necessese est

  • activist

    Сообщений: 326

    вы там два раза подряд вызываете ReceiveText()
    подозреваю что на второй вызов у вас в сокете уже пусто.

    я б рискнул считать тескт из сокета один раз в переменную, а потом уже обращаться к этой переменной. могу быть не прав, билдер давно не юзал 8)

  • AntareSFire

    Анонимный пользователь

    всем большое спасибо что рассмотрели мою проблему, особенно dweeb'у, действительно ко второму обращению в сокете било уже пусто, счас загнал в переменную, теперь работает как часы. Большое спасибо!!!! :улыб:

Записей на странице:

Перейти в форум

Модератор: