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

Maximus

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

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

  • Посещение

  • Победитель дней

    9

Ответы сообщества

  1. Пост Maximus - сообщение в Как подавить экранный курсор crSQLWait ? был отмечен как ответ   
    На самом деле это поведение можно достаточно просто отключить
    var Connect : TFDConnection; Query : TFDQuery; ... Connect.ResourceOptions.SilentMode := true; Query.ResourceOptions.SilentMode := true; ...  
  2. Пост Maximus - сообщение в Запуск стороннего приложения со своими координатами. был отмечен как ответ   
    Ну да, конкретно с калькулятором такой финт не прокатит, он явно запоминает свою позицию перед закрытием, а затем при запуске её восстановление происходит уже после применения заданных в CreateProcess параметров позиции. А вообще работает, например, если запустить своё же приложение, разумеется если в нём нет установки координат после запуска.
    Можно и MoveWindow или SetWindowPos использовать после запуска, только тогда придётся получить хендл окна.
  3. Пост Maximus - сообщение в NetHTTPClient передача файла и OnReceiveData был отмечен как ответ   
    В общем, я бы исправил так: добавил локальную переменную
    Abort: Boolean;  
    в TWinHTTPClient.DoExecuteRequest, до цикла передачи данных вызвал бы коллбек с объёмом файла, так же как происходит при загрузке файла на ПК - первый коллбек вызывается с нулевым объёмом переданных данных.
    LRequest.DoReceiveDataProgress(0, DataLength, 0, Abort);  
    В цикл добавил бы проверку на прекращение загрузки
    while (LRequest.FSourceStream.Position < LRequest.FSourceStream.Size) and (not Abort) do  
    В конце цикла вызывал бы коллбек с объёмом файла и количеством переданных байт.
    Первый параметр коллбека - StatusCode получить на данном этапе скорее всего нельзя, или я не понял как, поэтому передаю ноль.
    LRequest.DoReceiveDataProgress(0, DataLength, LRequest.FSourceStream.Position, Abort);  
    Полный текст исправленной функции.
     
  4. Пост Maximus - сообщение в Открытие файлов перемещением из проводника на форму или один из ее элементов, Windows был отмечен как ответ   
    Например через компонент TDropTarget.
  5. Пост Maximus - сообщение в Аналог свойства ParentWindow был отмечен как ответ   
    Проблема была решена данным способом.
    var FMForm: TFMForm1; FMHWnd: HWND; begin FMForm := TFMForm1.Create(nil); FMForm.Left := 0; FMForm.Top := 0; FMForm.Show; FMHWnd := FmxHandleToHWND(FMForm.Handle); SetWindowLong(FMHWnd, GWL_STYLE, GetWindowLong(FMHwnd, GWL_STYLE) or WS_CHILD); winapi.windows.SetParent(FMHWnd, Handle необходимого окна);
×
×
  • Создать...