![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#31 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
![]()
спасибо помогли!!!!
Последний раз редактировалось AppData; 07.05.2022 в 20:41. |
![]() |
![]() |
![]() |
#32 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
У различных компиляторов свои заморочки в описаниях системных вызовов. У моего описания функций выглядят так
Код:
Но все эти заморочки в любом случае сводятся к элементарным определениям языка Pascal. До них просто надо уметь докопаться и разрабатывать программы станет проще. В оболочке Delphi/Lazarus уже давно реализованы механизмы для быстрого нахождения любых описаний, но иногда приходится копаться очень долго пока разберетесь. В этом вся прелесть программирования. По мимо уже упомянутых мной щелчков мыши с нажатой Ctrl и использования окна автоподстановки, стоит сказать еще про поиск в файлах. К нему приходится прибегать, когда не можете найти в каком конкретно модуле находится описание непонятной вам конструкции. Как правило поиск в файлах стоит производить рекурсивно в каталоге <DelphiPath>\include\*.* или /usr/include/lazarus/* |
![]() |
![]() |
![]() |
#33 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
![]() Код:
почему то нули 0.0.0.20 |
![]() |
![]() |
![]() |
#34 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Кликаете правее номера строки содержащей str := PAnsiChar(GetLocalIP); и она становится красной.
Потом выбираете пункт Вид->Отладка->Локальные переменные (может отличаться в вашей версии). Нажимаете зеленую стрелочку (запуск) и программа останавливается на выделенной красным строке. Потом кнопкой F7 или F8 продолжаете пошаговое исполнение программы параллельно наблюдая за значениями в окне Локальные переменные. Так можно выяснить на каком этапе вы получили ошибку в данных. |
![]() |
![]() |
![]() |
#35 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
![]()
Ошибок нет, просто он показывает 0.0.0.20
|
![]() |
![]() |
![]() |
#36 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() Код:
Код:
Последний раз редактировалось macomics; 07.05.2022 в 22:11. |
![]() |
![]() |
![]() |
#37 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
![]()
macomics, когда вручную прописан, нормально работает а через
Код:
Код:
|
![]() |
![]() |
![]() |
#38 | |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() Цитата:
Вы должны перейти к строчке вида (она ниже по тексту): Код:
Потом с нажатым Ctrl щелкайте по winsockdll. Мне интересно ее определение. Возможно вы перейдете не к вышеприведенной строке экспорта, а к функции типа Код:
Суть проблемы в том, что у вас Unicode символы занимающие по 2 байта (и второй байт в каждом символе равен #0 - конец строки) передаются как есть в функцию ожидающую ASCII символы занимающие 1 байт. Решить это можно либо переопределив экспортируемую функцию в соответствии с ее прототипом из внешней справки: см. мой комментарий выше, где я приводил определение этих функций из моего компилятора; либо разобраться с именованием типов у вашего компилятора и передать функции строку в правильном формате без преобразования. ADD: Еще стоит проверить результат выполнения функции GetLocalIP. Возможно она возвращает строку '0.0.0.0'; Последний раз редактировалось macomics; 08.05.2022 в 13:23. |
|
![]() |
![]() |
![]() |
#39 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
![]()
правильно я все понял?
|
![]() |
![]() |
![]() |
#40 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
да. просто этих библиотек с интерфейсами API несколько в Windows. wsock32.dll, ws2.dll, ws2_32.dll
Все содержат приблизительно одинаковый набор функций, но есть и небольшие различия. Хотя в основном они делают одно и тоже. Для начала стоит пойти по пути наименьшего сопротивления. Сразу после слова implementation в модуле с вашей формой добавьте эти строчки: Код:
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заменить последние цифры в IP на звездочки | nibufep | PHP | 4 | 13.04.2015 14:48 |
Последние символы строки | arshavin0230 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 04.10.2014 19:35 |
Дан двумерный массив. начиная с 1 строки сдвинуть все строки на 2 вниз, а последние 2 переместить на место первых двух строк. | Proskurina | Помощь студентам | 5 | 03.03.2013 21:38 |
Найти степень числа N, у которой три последние цифры одинаковые. | Vika_0_0 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 11.03.2012 10:24 |
Как вытащить последние 100 записей? | vladtr | SQL, базы данных | 20 | 31.05.2010 09:30 |