Перейти к содержанию
Fire Monkey от А до Я

tolstii

Пользователи
  • Постов

    8
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные tolstii

  1. Всем доброго вечера.

     

    На Delphi XE8 и выше имею проблему!

     

     В Projects - options / Provisioning Build Type выбираю Android-Application Store,

     

                создаю keystore, alias как обычно - нажимаю OK,

     

    Захожу опять в Projects - options / Provisioning Build Type стоит - Android development. 

           ставлю опять Android-Application Store - появляются настройки мои keystore, нажимаю ОК и все по кругу.

     

    Вообщем на сохраняется в настройках Android-Application Store, постоянно слетает в Android development.

     

    На XE6 и XE7 все работает, в чем проблемы, помогите.

     

    Спасибо.

  2. Всем добрый день.

     

    Наблюдаю проблемы с TCPClient в работе с Android. Проверить проблему очень просто:

     

    Connect:

    procedure TForm2.Button1Click(Sender: TObject);
    begin
      idtcpclient1.Create();
      idtcpclient1.Host:='192.168.5.24';
      idtcpclient1.Port:=8728;
      idtcpclient1.Connect;
    end;
    Disconnect:
    procedure TForm2.Button2Click(Sender: TObject);
    begin
    if idTcpClient1.connected then
    begin
    
      IdTCPClient1.Disconnect;
      if IdTCPClient1.IOHandler <> nil then
        IdTCPClient1.IOHandler.InputBuffer.Clear;
    end;
    

    Вот и все,  на windows все работает отлично.

     

    На android следующая проблема: первые два подключения и отключения проходят успешно, при третьем подключении проблема!!! сразу происходит отключение и программа при дальнейших действий выдает ошибку: Access violation at address.......

     

    С третьим подключение происходит следующее мы 1)посылаем TCP SYN   2) в ответ получаем - TCP SYN ACK  3) отправляем TCP ACK и на этом как в первые два раза должно было закончится наше приветствие и начаться работа, но Android сразу за этим посылает TCP ACK FIN ; прикрепляю файл.

     

    Видно что проблема при соединении, странно почему именно на Третье подключение.

    Помогите разобраться в чем проблема. Спасибо.

    post-829-0-27216800-1422617570_thumb.png

  3. Всем привет.

     

    имеется хост IP 95.143.123.82 - TCP 8728 без ssl используя TIdTCPClient подключаеться отлично.

     

    на этот же хост  95.143.123.82 - TCP 8729 (другой порт) c ssl не могу подключиться, помогите разобраться в чем проблема 

    procedure TForm1.Button1Click(Sender: TObject);
    var
    s: string;
    
    begin
    
    IdSSLIOHandlerSocketOpenSSL1 := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    
    //IdSSLIOHandlerSocketOpenSSL1.Destination := '192.168.5.128:8729';
    IdSSLIOHandlerSocketOpenSSL1.Host := '192.168.5.128';
    IdSSLIOHandlerSocketOpenSSL1.MaxLineAction := maException;
    IdSSLIOHandlerSocketOpenSSL1.Port := 8729;
    IdSSLIOHandlerSocketOpenSSL1.DefaultPort := 0;
    IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1;
    IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned;
    IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyMode := [];
    IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyDepth := 0;
    
    idtcpclient1.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
    
    IdTCPClient1.Create(nil);
    idtcpclient1.Host:='192.168.5.128';
    idtcpclient1.Port:=8729;
    idtcpclient1.Connect;
    
    
    end;
    

    приватный IP для проверке из вне можете заменить  на публичный указанный выше

     

    заранее спасибо!

     

  4. Добрый день.

    Не могу побороть проблему с кодировкой в приложениях для Android

     

    Пример задачи простой:

     

    имею Hex string:   ed6a3e6589bd4536f36a7d5624757d9c  

     

    который нужно преобразовать в string для дальнейших операций 

     

    под windows все нормально: получаю íj>e‰½E6ój}V$u}œ  используя функцию:

     

    function TForm1.HexToStr2(const source: string): string;
    var
      i, idx:Cardinal;
      StrAsBytes:TBytes;
    begin
      SetLength(StrAsBytes, length(source) div 2);
      i:=1;
      idx:=0;
      while i<=length(source) do
      begin
        StrAsBytes[idx]:=StrToInt('$'+source[i]+source[i+1]);
        i:=i+2;
        idx:=idx+1;
      end;
      result:=TEncoding.ansi.GetString(StrAsBytes);
    end;
    но вот под android получаю что угодно, но не это значение.
    Понимаю что проблема в кодировки, перепробовал разное - безрезультатно.
     
    Прошу помощи.

    Прикрепляю исходник.
     
    Спасибо!

    MDD555.ZIP

×
×
  • Создать...