kami

Пользователи
  • Публикации

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

  • Посещение

  • Days Won

    29

Изменения репутации

  1. valdemar понравилось http://fire-monkey.ru/topic/4559-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8%D0%B7-%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B5%D0%B3%D0%BE/?do=findComment&comment=28742 от ответ на вопрос в Запуск приложения из текущего   
    CreateProcess, StartupInfo, ProcessInformation, WaitForSingleObject, CloseHandle объявлены в  WinAPI. У других операционных систем методы запуска другие.
  2. krapotkin понравилось http://fire-monkey.ru/topic/4556-idtcpclient-idtcpsever-%D1%81%D0%BD%D0%BE%D0%B2%D0%B0-%D0%BE-%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B5/?do=findComment&comment=28671 от ответ на вопрос в IdTCPClient, IdTCPSever - снова о кодировке   
    Зато его можно указать в конструкторе.
     
    Нет. Исходная string в версиях от 2009 и выше - это UnicodeString. В большинстве случаев можно считать как WideString или UCS-2. Кодировка по 2 байта на символ. ANSI - это 1 байт на символ.
    Действительно, получившийся у Вас код не есть супер-красив. Я продолжаю считать, что всего навсего явное указание Encoding для StringStream снимет эти проблемы. Всякие остальные преобразования, включая явные упоминания конкретных TEncoding  и функций перекодировки не нужны.
  3. Andrey Efimov понравилось http://fire-monkey.ru/topic/4547-%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-tframe/?do=findComment&comment=28614 от ответ на вопрос в Уничтожение TFrame   
    Я бы поменял их местами.
    Несколько странно сперва уничтожать объект, а потом обращаться к его полям и методам...
  4. Andrey Efimov понравилось http://fire-monkey.ru/topic/4547-%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-tframe/?do=findComment&comment=28614 от ответ на вопрос в Уничтожение TFrame   
    Я бы поменял их местами.
    Несколько странно сперва уничтожать объект, а потом обращаться к его полям и методам...
  5. Andrey Efimov понравилось http://fire-monkey.ru/topic/4547-%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-tframe/?do=findComment&comment=28614 от ответ на вопрос в Уничтожение TFrame   
    Я бы поменял их местами.
    Несколько странно сперва уничтожать объект, а потом обращаться к его полям и методам...
  6. Andrey Efimov понравилось http://fire-monkey.ru/topic/4547-%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-tframe/?do=findComment&comment=28614 от ответ на вопрос в Уничтожение TFrame   
    Я бы поменял их местами.
    Несколько странно сперва уничтожать объект, а потом обращаться к его полям и методам...
  7. Rusland понравилось http://fire-monkey.ru/topic/4418-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2-tpopup-%D0%BB%D0%BE%D0%BC%D0%B0%D0%B5%D1%82-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-twebbrowser/?do=findComment&comment=28581 от ответ на вопрос в Вызов TPopup ломает поведение TWebBrowser   
    Апну тему.
    На этот раз - Tokio upd1, с патчем под iOS11.
    Что требуется: скопировать в папку с проектом (рядом с dpr) файл FMX.WebBrowser.pas. В нем внести изменения в метод TCustomWebBrowser.FormHandleCreated, чтобы он выглядел следующим образом:
     
    procedure TCustomWebBrowser.FormHandleCreated(const Sender: TObject; const Msg: TMessage); function GetParentForm(Control: TFmxObject): TCommonCustomForm; begin if (Control.Root <> nil) and (Control.Root.GetObject is TCommonCustomForm) then Result := TCommonCustomForm(Control.Root.GetObject) else Result := nil; end; var WBService : IFMXWBService; begin if not (csDesigning in ComponentState) and ((FWeb = nil) or (Sender = GetParentForm(self as TFmxObject))) and TPlatformServices.Current.SupportsPlatformService(IFMXWBService, WBService) then begin WBService.DestroyWebBrowser(FWeb); // добавлена эта строка. FWeb := WBService.CreateWebBrowser; FWeb.SetWebBrowserControl(Self); FWeb.UpdateContentFromControl; FWeb.URL := FURL; FWeb.Navigate; end; end; Что дает правка:
    допустим, у вас есть WB на главной форме и на дочерней форме (или фрейме - без разницы), которая создается / уничтожается динамически. При создании вторичной формы метод FormHandleCreated вызывается дважды, при этом FWeb, созданный в первом вызове просто забывается, но не уничтожается (сильная ссылка в списке веббраузеров в WBService). Дальше вторичная форма уничтожается (захватывая с собой FWeb, созданный при втором вызове FormHandleCreated ), а в "забытом" FWeb остаются невалидные ссылки на родителя. Что при вызове метода TWBFactoryService.RealignBrowsers (активация / изменение размеров формы) приведет к AV.
    Внесенное изменение удаляет FWeb из списка WBService, и в дальнейшем ничего не мешает его спокойному уничтожению.
  8. Rusland понравилось http://fire-monkey.ru/topic/4418-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2-tpopup-%D0%BB%D0%BE%D0%BC%D0%B0%D0%B5%D1%82-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-twebbrowser/?do=findComment&comment=28581 от ответ на вопрос в Вызов TPopup ломает поведение TWebBrowser   
    Апну тему.
    На этот раз - Tokio upd1, с патчем под iOS11.
    Что требуется: скопировать в папку с проектом (рядом с dpr) файл FMX.WebBrowser.pas. В нем внести изменения в метод TCustomWebBrowser.FormHandleCreated, чтобы он выглядел следующим образом:
     
    procedure TCustomWebBrowser.FormHandleCreated(const Sender: TObject; const Msg: TMessage); function GetParentForm(Control: TFmxObject): TCommonCustomForm; begin if (Control.Root <> nil) and (Control.Root.GetObject is TCommonCustomForm) then Result := TCommonCustomForm(Control.Root.GetObject) else Result := nil; end; var WBService : IFMXWBService; begin if not (csDesigning in ComponentState) and ((FWeb = nil) or (Sender = GetParentForm(self as TFmxObject))) and TPlatformServices.Current.SupportsPlatformService(IFMXWBService, WBService) then begin WBService.DestroyWebBrowser(FWeb); // добавлена эта строка. FWeb := WBService.CreateWebBrowser; FWeb.SetWebBrowserControl(Self); FWeb.UpdateContentFromControl; FWeb.URL := FURL; FWeb.Navigate; end; end; Что дает правка:
    допустим, у вас есть WB на главной форме и на дочерней форме (или фрейме - без разницы), которая создается / уничтожается динамически. При создании вторичной формы метод FormHandleCreated вызывается дважды, при этом FWeb, созданный в первом вызове просто забывается, но не уничтожается (сильная ссылка в списке веббраузеров в WBService). Дальше вторичная форма уничтожается (захватывая с собой FWeb, созданный при втором вызове FormHandleCreated ), а в "забытом" FWeb остаются невалидные ссылки на родителя. Что при вызове метода TWBFactoryService.RealignBrowsers (активация / изменение размеров формы) приведет к AV.
    Внесенное изменение удаляет FWeb из списка WBService, и в дальнейшем ничего не мешает его спокойному уничтожению.
  9. enatechno понравилось http://fire-monkey.ru/topic/4519-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-ios-11/?do=findComment&comment=28506 от ответ на вопрос в Сборка приложения для IOS 11   
    Можно поподробнее, про что поподробнее?
    Скачал последний XCode, поставил, убедился что в Preferences-Locations стоит последняя версия Command line tools -> Установил патчи в PAServer и IDE -> удалил напрочь все "старые" SDK из опций IDE, удалил их из папки -> скачал SDK 11.1, убедился что SDK 11.1 активны -> скомпилировал и задеплоил (кажется, во время деплоя мне было сказано, что Bundle Identificator плох, пришлось заменить его с вида F43234.com.application.my на com.application.my.
    Это, по большому счету, всё, что касается работы с SDK 11.1, остальные танцы с бубном (на предыдущих SDK) не вижу смысла приводить. Тщательно разбирайте ошибки компиляции и деплоя и будет вам счастье
  10. Rusland понравилось http://fire-monkey.ru/topic/4418-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2-tpopup-%D0%BB%D0%BE%D0%BC%D0%B0%D0%B5%D1%82-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-twebbrowser/?do=findComment&comment=28581 от ответ на вопрос в Вызов TPopup ломает поведение TWebBrowser   
    Апну тему.
    На этот раз - Tokio upd1, с патчем под iOS11.
    Что требуется: скопировать в папку с проектом (рядом с dpr) файл FMX.WebBrowser.pas. В нем внести изменения в метод TCustomWebBrowser.FormHandleCreated, чтобы он выглядел следующим образом:
     
    procedure TCustomWebBrowser.FormHandleCreated(const Sender: TObject; const Msg: TMessage); function GetParentForm(Control: TFmxObject): TCommonCustomForm; begin if (Control.Root <> nil) and (Control.Root.GetObject is TCommonCustomForm) then Result := TCommonCustomForm(Control.Root.GetObject) else Result := nil; end; var WBService : IFMXWBService; begin if not (csDesigning in ComponentState) and ((FWeb = nil) or (Sender = GetParentForm(self as TFmxObject))) and TPlatformServices.Current.SupportsPlatformService(IFMXWBService, WBService) then begin WBService.DestroyWebBrowser(FWeb); // добавлена эта строка. FWeb := WBService.CreateWebBrowser; FWeb.SetWebBrowserControl(Self); FWeb.UpdateContentFromControl; FWeb.URL := FURL; FWeb.Navigate; end; end; Что дает правка:
    допустим, у вас есть WB на главной форме и на дочерней форме (или фрейме - без разницы), которая создается / уничтожается динамически. При создании вторичной формы метод FormHandleCreated вызывается дважды, при этом FWeb, созданный в первом вызове просто забывается, но не уничтожается (сильная ссылка в списке веббраузеров в WBService). Дальше вторичная форма уничтожается (захватывая с собой FWeb, созданный при втором вызове FormHandleCreated ), а в "забытом" FWeb остаются невалидные ссылки на родителя. Что при вызове метода TWBFactoryService.RealignBrowsers (активация / изменение размеров формы) приведет к AV.
    Внесенное изменение удаляет FWeb из списка WBService, и в дальнейшем ничего не мешает его спокойному уничтожению.
  11. Rusland понравилось http://fire-monkey.ru/topic/4418-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2-tpopup-%D0%BB%D0%BE%D0%BC%D0%B0%D0%B5%D1%82-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-twebbrowser/?do=findComment&comment=28581 от ответ на вопрос в Вызов TPopup ломает поведение TWebBrowser   
    Апну тему.
    На этот раз - Tokio upd1, с патчем под iOS11.
    Что требуется: скопировать в папку с проектом (рядом с dpr) файл FMX.WebBrowser.pas. В нем внести изменения в метод TCustomWebBrowser.FormHandleCreated, чтобы он выглядел следующим образом:
     
    procedure TCustomWebBrowser.FormHandleCreated(const Sender: TObject; const Msg: TMessage); function GetParentForm(Control: TFmxObject): TCommonCustomForm; begin if (Control.Root <> nil) and (Control.Root.GetObject is TCommonCustomForm) then Result := TCommonCustomForm(Control.Root.GetObject) else Result := nil; end; var WBService : IFMXWBService; begin if not (csDesigning in ComponentState) and ((FWeb = nil) or (Sender = GetParentForm(self as TFmxObject))) and TPlatformServices.Current.SupportsPlatformService(IFMXWBService, WBService) then begin WBService.DestroyWebBrowser(FWeb); // добавлена эта строка. FWeb := WBService.CreateWebBrowser; FWeb.SetWebBrowserControl(Self); FWeb.UpdateContentFromControl; FWeb.URL := FURL; FWeb.Navigate; end; end; Что дает правка:
    допустим, у вас есть WB на главной форме и на дочерней форме (или фрейме - без разницы), которая создается / уничтожается динамически. При создании вторичной формы метод FormHandleCreated вызывается дважды, при этом FWeb, созданный в первом вызове просто забывается, но не уничтожается (сильная ссылка в списке веббраузеров в WBService). Дальше вторичная форма уничтожается (захватывая с собой FWeb, созданный при втором вызове FormHandleCreated ), а в "забытом" FWeb остаются невалидные ссылки на родителя. Что при вызове метода TWBFactoryService.RealignBrowsers (активация / изменение размеров формы) приведет к AV.
    Внесенное изменение удаляет FWeb из списка WBService, и в дальнейшем ничего не мешает его спокойному уничтожению.
  12. Равиль Зарипов (ZuBy) понравилось http://fire-monkey.ru/topic/4519-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-ios-11/?do=findComment&comment=28453 от ответ на вопрос в Сборка приложения для IOS 11   
    XCode 9.1 + SDK 11.1 + iOS 11.1 +RAD 10.2.1 (с патчем PAServer и IDE под iOS11)
    Собрано 64 битное приложение (Universal binary file) и оно РАБОТАЕТ!!!
    Мучился довольно долго, под 11.0 сборка не хотела идти категорически (валилось на лишних разрешениях в Provision profile, про них говорилось в окне Build делфи).
    Заново ставил патч, удалял SDK 11.0, накатывал заново - не хотело идти, приложение вроде запускалось и сразу закрывалось на IPAD mini.
    А с 11.1 прокатило сразу же. Я не знаю, почему - может, из-за свежего SDK, может из-за того, что оно ставилось "в чистую" (хотя я и 11.0 SDK удалял ручками из папки документов).
    Главное - есть результат. Если нужны какие-то подробности - пишите, постараюсь ответить (хотя с моей точки зрения - всё это были танцы с бубном).
  13. Равиль Зарипов (ZuBy) понравилось http://fire-monkey.ru/topic/4519-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-ios-11/?do=findComment&comment=28453 от ответ на вопрос в Сборка приложения для IOS 11   
    XCode 9.1 + SDK 11.1 + iOS 11.1 +RAD 10.2.1 (с патчем PAServer и IDE под iOS11)
    Собрано 64 битное приложение (Universal binary file) и оно РАБОТАЕТ!!!
    Мучился довольно долго, под 11.0 сборка не хотела идти категорически (валилось на лишних разрешениях в Provision profile, про них говорилось в окне Build делфи).
    Заново ставил патч, удалял SDK 11.0, накатывал заново - не хотело идти, приложение вроде запускалось и сразу закрывалось на IPAD mini.
    А с 11.1 прокатило сразу же. Я не знаю, почему - может, из-за свежего SDK, может из-за того, что оно ставилось "в чистую" (хотя я и 11.0 SDK удалял ручками из папки документов).
    Главное - есть результат. Если нужны какие-то подробности - пишите, постараюсь ответить (хотя с моей точки зрения - всё это были танцы с бубном).
  14. kami понравилось http://fire-monkey.ru/topic/4469-call-stack-%D0%BD%D0%B0-android-ios-windows/?do=findComment&comment=28160 от сообщение в теме в Call-Stack на Android, iOS, Windows   
    Получаем call-stack в iOS - https://blog.grijjy.com/2017/02/09/build-your-own-error-reporter-part-1-ios/
    Получаем call-stack в Android - https://blog.grijjy.com/2017/02/21/build-your-own-error-reporter-part-2-android/
    Библиотека для Windows(и не только call-stack): DebugEngine
  15. Rusland понравилось http://fire-monkey.ru/topic/4451-vcl-procedure-to-fmx/?do=findComment&comment=28107 от ответ на вопрос в VCL procedure to FMX   
    Your code can be replaced with:
    var Stream: TStream; begin Stream:=TMemoryStream.Create; try SourceBitmap.SaveToStream(Stream); Stream.Seek(0, soBeginning); NewBitmap.LoadFromStream(Stream); finally Stream.Free; end; end;  
  16. enatechno понравилось http://fire-monkey.ru/topic/1328-%D0%BD%D0%B5%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F-%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B2%D0%BE%D0%B5%D0%B3%D0%BE-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/?do=findComment&comment=28109 от ответ на вопрос в Нестандартная клавиатура для своего приложения   
    Раз уж пошла такая пьянка - выложу сюда то, что по виртуальной клавиатуре есть у меня на текущий момент (в телеграме уже выложил).
    Поддерживаются операционные системы: iOS, Windows. Оттестировано на 10.1 (Berlin)
    Итак: архив распаковать куда угодно, в проект в uses подключить модули uCommonCustomKeyboard (отвечает за подмену "штатной виртуальной клавиатуры" на свою) и ufrCustomNumpad (отвечает за отображение цифровой клавиатуры).
    Алфавитную, e-mail-овскую и тому подобные виды клавиатур оставляю на ваше усмотрение. Они делаются на основе ufrCustomNumpad, там больше заморочек с красивым размещением кнопок, чем с кодом.
    CustomKeyboards.7z
  17. enatechno понравилось http://fire-monkey.ru/topic/1328-%D0%BD%D0%B5%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F-%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B2%D0%BE%D0%B5%D0%B3%D0%BE-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/?do=findComment&comment=28109 от ответ на вопрос в Нестандартная клавиатура для своего приложения   
    Раз уж пошла такая пьянка - выложу сюда то, что по виртуальной клавиатуре есть у меня на текущий момент (в телеграме уже выложил).
    Поддерживаются операционные системы: iOS, Windows. Оттестировано на 10.1 (Berlin)
    Итак: архив распаковать куда угодно, в проект в uses подключить модули uCommonCustomKeyboard (отвечает за подмену "штатной виртуальной клавиатуры" на свою) и ufrCustomNumpad (отвечает за отображение цифровой клавиатуры).
    Алфавитную, e-mail-овскую и тому подобные виды клавиатур оставляю на ваше усмотрение. Они делаются на основе ufrCustomNumpad, там больше заморочек с красивым размещением кнопок, чем с кодом.
    CustomKeyboards.7z
  18. enatechno понравилось http://fire-monkey.ru/topic/4397-returnkeytype-next-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%B0%D0%BC%D0%B8/?do=findComment&comment=27803 от ответ на вопрос в returnkeytype Next не работает переход между контролами   
    Нет.
    ReturnKeyType - это всего лишь какая надпись будет на кнопке Enter. Поведение по нажатию на эту кнопку задаете именно вы.
    Система Андроид не знает о том, какой порядок табуляции установлен у ваших контролов, ей это глубоко симметрично. Если переход по Enter необходим - действительно используйте SetFocus, но на всякий случай - оберните его в TThread.ForceQueue
  19. enatechno понравилось http://fire-monkey.ru/topic/1328-%D0%BD%D0%B5%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F-%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%81%D0%B2%D0%BE%D0%B5%D0%B3%D0%BE-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/?do=findComment&comment=28109 от ответ на вопрос в Нестандартная клавиатура для своего приложения   
    Раз уж пошла такая пьянка - выложу сюда то, что по виртуальной клавиатуре есть у меня на текущий момент (в телеграме уже выложил).
    Поддерживаются операционные системы: iOS, Windows. Оттестировано на 10.1 (Berlin)
    Итак: архив распаковать куда угодно, в проект в uses подключить модули uCommonCustomKeyboard (отвечает за подмену "штатной виртуальной клавиатуры" на свою) и ufrCustomNumpad (отвечает за отображение цифровой клавиатуры).
    Алфавитную, e-mail-овскую и тому подобные виды клавиатур оставляю на ваше усмотрение. Они делаются на основе ufrCustomNumpad, там больше заморочек с красивым размещением кнопок, чем с кодом.
    CustomKeyboards.7z
  20. Равиль Зарипов (ZuBy) понравилось http://fire-monkey.ru/topic/4377-%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0-%D0%B2-%D0%BF%D0%B8%D1%82%D0%B5%D1%80%D0%B5/?do=findComment&comment=28078 от сообщение в теме в Встреча в Питере!   
    Где фотоотчет и краткое содержание? @Vitaldj , @Error
    Телеграм телеграмом, но далеко не все там сидят, да и темы в чате быстро уходят в небытие.
    Срочно зафиксировать здесь для потомков!
  21. Равиль Зарипов (ZuBy) понравилось http://fire-monkey.ru/topic/4377-%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0-%D0%B2-%D0%BF%D0%B8%D1%82%D0%B5%D1%80%D0%B5/?do=findComment&comment=28078 от сообщение в теме в Встреча в Питере!   
    Где фотоотчет и краткое содержание? @Vitaldj , @Error
    Телеграм телеграмом, но далеко не все там сидят, да и темы в чате быстро уходят в небытие.
    Срочно зафиксировать здесь для потомков!
  22. Brovin Yaroslav понравилось http://fire-monkey.ru/topic/4377-%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0-%D0%B2-%D0%BF%D0%B8%D1%82%D0%B5%D1%80%D0%B5/?do=findComment&comment=28058 от сообщение в теме в Встреча в Питере!   
    Завтра!!!
    5 октября, в 19:00, на "Чердаке" (  https://yandex.ru/maps/-/CBUIUKb0PD  Куйбышева 38/40, ближайшее метро - Горьковская  ) (А то сам уже почти забыл   )
  23. Alex7wrt понравилось http://fire-monkey.ru/topic/4438-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D1%80%D0%B8-%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D0%B8-%D1%81-com-%D0%BF%D0%BE%D1%80%D1%82%D0%B0-windows/?do=findComment&comment=28010 от ответ на вопрос в настройки при чтении с Com порта, Windows   
    COM-порт это потоковая штуковина. Считайте, что с точки зрения компьютера работа с ком-портом это получение / отправка непрерывного потока данных.
    Ни компьютер, ни подключенное устройство не имеют ни малейшего представления о том, что вы ожидаете какой-то конкретный ограниченный по объему набор байт. Они отдают ровно то, что есть в буфере на текущий момент.
    Посему, правильно будет делать так:
    одна часть приложения постоянно что-то читает из порта и добавляет считанное в конец общего буфера.
    другая часть приложения выбирает с начала общего буфера данные до тех пор, пока не поймет, что "вот оно - сообщение полностью прочитано". И после этого считанное удаляет из начала буфера.
  24. Brovin Yaroslav понравилось http://fire-monkey.ru/topic/4377-%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0-%D0%B2-%D0%BF%D0%B8%D1%82%D0%B5%D1%80%D0%B5/?do=findComment&comment=28002 от сообщение в теме в Встреча в Питере!   
    Апну тему, пусть в топе повисит, может еще кто подтянется. Все-таки 5 октября уже не за горами.
  25. Alex7wrt понравилось http://fire-monkey.ru/topic/4438-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%BF%D1%80%D0%B8-%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D0%B8-%D1%81-com-%D0%BF%D0%BE%D1%80%D1%82%D0%B0-windows/?do=findComment&comment=28010 от ответ на вопрос в настройки при чтении с Com порта, Windows   
    COM-порт это потоковая штуковина. Считайте, что с точки зрения компьютера работа с ком-портом это получение / отправка непрерывного потока данных.
    Ни компьютер, ни подключенное устройство не имеют ни малейшего представления о том, что вы ожидаете какой-то конкретный ограниченный по объему набор байт. Они отдают ровно то, что есть в буфере на текущий момент.
    Посему, правильно будет делать так:
    одна часть приложения постоянно что-то читает из порта и добавляет считанное в конец общего буфера.
    другая часть приложения выбирает с начала общего буфера данные до тех пор, пока не поймет, что "вот оно - сообщение полностью прочитано". И после этого считанное удаляет из начала буфера.