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

Maximus

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

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

  • Посещение

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

    9

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

  1. День добрый. Возникла следующая проблема. Если свойству формы BorderStyle поставить любое значение (кроме Sizeable), все подсказки Hint компонентов этой формы перестают отображаться. Аналогично дело обстоит с BorderIcons, стоит убрать хотя бы одну кнопку, как Hint сразу перестаёт работать.

    Это нормальное поведение или ошибка? И можно ли как-то это обойти?

  2. Проблема была решена данным способом.

    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 необходимого окна);
    
  3. Как я понимаю, если в dll будет VCL форма, то все хорошо? Надо посудить, что если библиотека создавалась на основе библиотеки FMX, то и работать с ней надо средствами FMX, то есть загружать и выгружать средствами FMX. Но вероятно я не прав. Я бы поэкспериментировал, а именно попробовал бы поработать с dll из проекта на FMX.

    Да, если в dll будет VCL форма, то она выгружается без проблем. Библиотека не создаётся на основе FMX или VCL, библиотека это отдельный от них проект. К тому же выгрузка производится функцией WinAPI, она не знает о FMX и о VCL.

  4. Здравствуйте. Возникла следующая проблема. Создал dll библиотеку с формой FireMonkey. Из приложения на VCL подключаю библиотеку, вызываю функцию создания формы

    procedure CreateHD;
    begin
      FormHD := TFormHD.Create(nil);
      FormHD.Caption := 'HD';
      FormHD.Show;
    end;

    форма создаётся, далее вызываю функцию закрытия и уничтожения формы FM

    procedure CloseHD;
    begin
      FormHD.Close;
      FreeAndNil(FormHD);
    end;

    Но при попытке выгрузить dll приложение зависает.

     

    Возможно уничтожение формы FM как-то отличается от VCL и нужно что-то вызвать ещё кроме FreeAndNil или проблема в другом?

     

    (dll и приложение написаны в Delphi XE6)

    Приложение.zip

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