Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рекомендации при проблемах с Indy, как подружиться с indy 
V
    Опции темы
MetalFan
Дата 28.3.2008, 14:26 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Много вопросов возникает у программистов, которые при попытке написать что-нибудь сетевое с использованием библиотеки Indy, столкнулись с разными проблемами.
В большей части случаев проблем удается избежать, 
если отказаться от устаревшей версии Indy, поставляемой вместе с самой Delphi (особенно это касается старых версий Delphi - 6,7) и установить более свежую.

Ссылки:Модератор: Просьба ко всем!
НЕ ЗАСОРЯЙТЕ ТЕМУ вопросами!
Здесь только общие рекомендации по установке/использованию/решению классических проблем. 
Для вопросов создавайте отдельные темы.

Это сообщение отредактировал(а) MetalFan - 25.5.2011, 10:18


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Akella
Дата 23.1.2010, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Рекомендация при установке новой версии Indy. Перед удалением текущей версии и установкой новой обязательно сохраните текущую удаляемую версию. 
Может случиться вот как у меня: Удалил полностью старую версию. Скачал и начал устанавливать новую. При установке ошибки. Всё, тупик. 
На их форуме просто так ничего не спросишь. Там даже сообщение твоё могут не пропустить.

Это сообщение отредактировал(а) MetalFan - 25.5.2011, 10:34
PM MAIL   Вверх
CodeMonkey
Дата 6.6.2010, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: нет
Всего: 89



Цитата(Akella @  20.1.2010,  12:29 Найти цитируемый пост)
Конктент грузится, хоть и с ошибкой, но Memo1.Text вместо кириллицы знаки вопросов ??? ?????? ????. 
memo1.text := UTF8ToAnsi(idHttp1.Get('http://novorossiysk.irr.ru/advert/55647524/')); 

Вопрос КС №68134.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 21.6.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Я уже давно нашёл у нас на форуме умную функцию перекодировки
Код

function UTF8ToStrSmart(Value: String): String;


      function UTF8ToStr(Value: String): String;
      var
        buffer: Pointer;
        BufLen: LongWord;
      begin
        BufLen := Length(Value) + 4;
        GetMem(buffer, BufLen);
        FillChar(buffer^, BufLen, 0);
        MultiByteToWideChar(CP_UTF8, 0, @Value[1], BufLen - 4, buffer, BufLen);
        Result := WideCharToString(buffer);
        FreeMem(buffer, BufLen);
      end;


var
  Digit: String;
  i: integer;
  HByte: Byte;
  Len: Byte;
begin
  Result := '';
  Len := 0;
  if Value = '' then Exit;
  for i := 1 to Length(Value) do
  begin
    if Len > 0 then
    begin
      Digit := Digit + Value[i];
      Dec(Len);
      if Len = 0 then
        Result := Result + UTF8ToStr(Digit);
    end else
    begin
      HByte := Ord(Value[i]);
      if HByte in [$00..$7f] then       //Standart ASCII chars
        Result := Result + Value[i]
      else begin
        //Get length of UTF-8 char
        if HByte and $FC = $FC then
          Len := 6
        else if HByte and $F8 = $F8 then
          Len := 5
        else if HByte and $F0 = $F0 then
          Len := 4
        else if HByte and $E0 = $E0 then
          Len := 3
        else if HByte and $C0 = $C0 then
          Len := 2
        else begin
          Result := Result + Value[i];
          Continue;
        end;
        Dec(Len);
        Digit := Value[i];
      end;
    end;
  end;
end;



PM MAIL   Вверх
MetalFan
Дата 25.5.2011, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Модератор: Потерты все старые неактуальные сообщения, а так же сообщения не по теме.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Akella
Дата 13.1.2013, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Переустановка Indy/как переустановить indy
удаление indy/как удалить встроенную версию indy


Цитата

Перейдите в окно Install Packages (Component->Install Packages), уберите галочки из всех пакетов Indy и удалите их нажав кнопку Remove.
Затем откройте окно настроек среды (Tools->Options->Library Win32/64) и удалите из строки Library path пути к исходным кодам Indy(они могут отсутствовать). Удобно пользоваться диалоговым окном, которое открывается нажатием на кнопку [...].
 
После этого добавьте в Library path 3 пути:
<Полный путь>\Lib\System
<Полный путь>\Lib\Core
<Полный путь>\Lib\Protocols
 
Закройте Delphi.
Удалите из директории с установленной Delphi исходные коды Indy. Обычно они располагаются в папке <папка с Delphi>/sources/Indy (папку также можно удалить).
Из папки Lib, которая располагается по адресу <папка с Delphi>/lib, удалите файлы
Код:
 
IndySystem*.*
IndyCore*.*
IndyProtocols*.*
dclIndyCore*.*
dclIndyProtocols*.*
 
Удаление завершено, приступим к установке.
Запустите Delphi, и откройте пакет IndySystemX0.dpk (где X – это ваша версия Delphi), который располагается по следующему адресу: <папка Indy>\Lib\System и скомпилируйте его.
Затем откройте пакет IndyCoreX0.dpk из папки <папка Indy>\Lib\Core и скомпилируйте его.
После этого откройте и скомпилируйте пакет IndyProtocolsX0.dpk, который располагается в папке <папка Indy>\Lib\Protocols.
Далее откройте пакет dclIndyCoreX0.dpk, который располагается в папке <папка Indy>\Lib\Core и установите его, после также установите пакет dclIndyProtocolsX0.dpk из папки <папка Indy>\Lib\Protocols.
 
Описанный выше порядок очень важен, компилируйте и устанавливайте пакеты именно в указанной последовательности.
 
Вот и все, поздравляю, теперь у вас установлена нужная вам версия Indy.
 
Если у Вас возникает следующая ошибка:
RLINK32: Error opening File packagename.drf
Попробуйте следующий метод:
- Удалите все .DCP и .BPL файлы из пакета.
- Откройте .DPK файл в IDE, перейдите в параметры проекта, установите Build Control на "Explicit Rebuild".
- Скомпилируйте пакет.
- Повторите эти действия для каждого зависимого пакета. 


ист >>
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1207 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.