|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.05.2022, 20:37 | #31 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
спасибо помогли!!!!
Последний раз редактировалось AppData; 07.05.2022 в 20:41. |
07.05.2022, 20:44 | #32 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
У различных компиляторов свои заморочки в описаниях системных вызовов. У моего описания функций выглядят так
Код:
Но все эти заморочки в любом случае сводятся к элементарным определениям языка Pascal. До них просто надо уметь докопаться и разрабатывать программы станет проще. В оболочке Delphi/Lazarus уже давно реализованы механизмы для быстрого нахождения любых описаний, но иногда приходится копаться очень долго пока разберетесь. В этом вся прелесть программирования. По мимо уже упомянутых мной щелчков мыши с нажатой Ctrl и использования окна автоподстановки, стоит сказать еще про поиск в файлах. К нему приходится прибегать, когда не можете найти в каком конкретно модуле находится описание непонятной вам конструкции. Как правило поиск в файлах стоит производить рекурсивно в каталоге <DelphiPath>\include\*.* или /usr/include/lazarus/* |
07.05.2022, 20:52 | #33 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
Код:
почему то нули 0.0.0.20 |
07.05.2022, 20:58 | #34 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Кликаете правее номера строки содержащей str := PAnsiChar(GetLocalIP); и она становится красной.
Потом выбираете пункт Вид->Отладка->Локальные переменные (может отличаться в вашей версии). Нажимаете зеленую стрелочку (запуск) и программа останавливается на выделенной красным строке. Потом кнопкой F7 или F8 продолжаете пошаговое исполнение программы параллельно наблюдая за значениями в окне Локальные переменные. Так можно выяснить на каком этапе вы получили ошибку в данных. |
07.05.2022, 21:40 | #35 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
Ошибок нет, просто он показывает 0.0.0.20
|
07.05.2022, 22:07 | #36 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Код:
Код:
Последний раз редактировалось macomics; 07.05.2022 в 22:11. |
08.05.2022, 12:32 | #37 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
macomics, когда вручную прописан, нормально работает а через
Код:
Код:
|
08.05.2022, 13:09 | #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. |
|
08.05.2022, 16:27 | #39 |
Форумчанин
Регистрация: 20.09.2013
Сообщений: 248
|
правильно я все понял?
|
08.05.2022, 17:03 | #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 |