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

estra

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

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

  • Посещение

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

    20

Активность репутации

  1. Like
    estra получил реакцию от Pax Beach в [Android] #13#10   
    Принтер
    Нужно передать принтеру строку с командами, разделенными #13#10. Но когда я подготавливаю строку для передачи
    // Content - TStringBuilder b := BytesOf(Content.GetString); b := TEncoding.Convert(TEncoding.UTF8, TEncoding.ANSI, b); ClientSocket.SendData(b); подозреваю, что символы #13#10 меняются на что то другое (о чем косвенно свидетельствует скрин в первом посте), в следствии чего принтер не понимает переданные команды.
  2. Like
    estra получил реакцию от eser в Генерация GUID на mac osX   
    var g: TGUID; begin CreateGUID( g ); end; Этот способ подойдет и для VCL и для FM.
  3. Like
    estra получил реакцию от Ra72 в Как измененить Z-последовательность стилевых объектов в Style Designer?   
    Как в редакторе стиля поменять Z-последовательность элементов. Вариант с сохранением в текстовый файл, его правкой и последующей загрузкой хоть и работает, но крайне не удобен, особенно если элементов в стиле много.
     
    P.S.
    Есть подозрение, что у разработчиков есть другой, более удобный редактор, ибо стандартный не очень удобен. Разработчики, может поделитесь с общественностью?
  4. Like
    estra получил реакцию от Kitty в Обработчик достижения конца списка listview в Delphi XE7   
    Как вам такой вариант?
    procedure TForm1.ListView1Painting(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); begin if ListView1.GetItemRect( ListView1.ItemCount-1 ).Bottom = ListView1.Height then       Label1.Text := 'YES! Через одно место, но работает!'    else       Label1.Text := 'Это еще не конец...'; end;
  5. Like
    estra получил реакцию от Равиль Зарипов (ZuBy) в Обработчик достижения конца списка listview в Delphi XE7   
    Как вам такой вариант?
    procedure TForm1.ListView1Painting(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); begin if ListView1.GetItemRect( ListView1.ItemCount-1 ).Bottom = ListView1.Height then       Label1.Text := 'YES! Через одно место, но работает!'    else       Label1.Text := 'Это еще не конец...'; end;
  6. Like
    estra получил реакцию от zekelive в Инструкция по установке набора компонентов FGX   
    Ну раз партия просит, товарищ, так и быть, запишет.
    видео инструкция
    пароль на скачивание: Project001
  7. Like
    estra получил реакцию от Andy в Изменить положение контролов при повороте экрана   
    Сложного ничего, но ведь суть вопроса не в этом...
  8. Like
    estra получил реакцию от Pulsarius в C++ Builder и BORLNDMM   
    Попробуй вырезать ненужную зависимость утилитой CFF Explorer
  9. Like
    estra получил реакцию от Rusland в Androidapi.JNI.GraphicsContentViewText   
    Не просто в uses, а именно в файле проекта (.dpr). Про этот баг давно в quality.embarcadero написано, но похоже в Embarcadero его не считают критическим (или вообще багом не считают).
  10. Like
    estra получил реакцию от Alex7wrt в Как в программе определить физические размеры экрана устройства?   
    DPI для Android
      uses FMX.Helpers.Android, Androidapi.JNI.Util; procedure TForm1.Button1Click(Sender: TObject); var Disp: JDisplayMetrics; NativeClientHeight, NativeClientWidth: Single; begin Disp := GetJDisplayMetrics; NativeClientWidth := ClientWidth * Disp.density; NativeClientHeight := ClientHeight * Disp.density; //Label1.Text := 'Width: ' + FloatToStr(NativeClientWidth); //Label2.Text := 'Height: ' + FloatToStr(NativeClientHeight); Label1.Text := FloatToStr( Disp.xdpi ); Label2.Text := FloatToStr( Disp.ydpi ); Label3.Text := IntToStr( Disp.densityDpi ); end;   Для IOS облом, рассчитывай сам http://www.dpi.nu/, http://www.sven.de/dpi/, http://www.pxcalc.com/, http://www.pixelcalculator.com/ и т.п.
  11. Like
    estra отреагировална Belov.V. в Отправка файлов через намерение   
    Проверьте вот это место в коде:
    // прикрепляем файл
    j_file := SharedActivity.getExternalFilesDir(StringToJString(f_name));
     
    Обратите внимание, что там указано имя прикрепляемого файла без пути к нему. По описанию ситуации очень похоже на ошибку в этом месте.
  12. Like
    estra отреагировална Belov.V. в Отправка файлов через намерение   
    Вот пример. Соорудил, проверил, вроде работает.
     
    Размер файла нормальный. Скриншеты на двух почтовых клиентах:

     

     
    Upd: в RX небольшие изменения. См. второй пример. (для первого идут предупреждения, хотя тоже работает)
    Sample-SendAttach.zip
    Sample-SendAttach_RX.zip
  13. Like
    estra отреагировална Belov.V. в Отправка файлов через намерение   
    Заполнение поля "Кому:"
    var ... JRecipient: TJavaObjectArray<JString>; ... begin // JRecipient := TJavaObjectArray<JString>.Create(1); JRecipient.Items[0] := StringToJString('test@test.ru'); ... Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, JRecipient); ...
  14. Like
    estra отреагировална Евгений Корепов в Ошибка в FMX.Graphics.Android   
    [Delphi XE8, Android]
    Ошибка в Studio\16.0\source\fmx\FMX.Graphics.Android.pas и соответственно в Studio\16.0\lib\android\release\FMX.Graphics.Android.o и Studio\16.0\lib\android\debug\FMX.Graphics.Android.o
    Строка 258 function GetTmpFileName: String;
    Выглядит так:
    function GetTmpFileName: String; begin Result := TPath.GetTempPath + 'TmpBitmapStream' end; Подозреваю что выглядеть должна вот так:
    function GetTmpFileName: String; begin Result := TPath.Combine(TPath.GetTempPath, 'TmpBitmapStream'); end; Из за этой ошибки временный файл создается не в '/storage/emulated/0/Android/data/<application ID>/files/tmp' (TPath.GetTempPath), а в '/storage/emulated/0/Android/data/<application ID>/files' (TPath.GetSharedDocumentsPath).
     
     
  15. Like
    estra получил реакцию от Kitty в Баг компилятора?   
    Провел небольшой эксперимент в XE8. За неимением полных исходников кое-что пришлось подправить/закомментировать...
     
    Эксперимент 1:
     


    Если цикловые переменные сделать глобальными (что абсолютно не логично, но судя по выложенному вами фрагменту кода у вас так и есть), то получаем соответствующее предупреждение.
     
    Эксперимент 2:
     


    Если переменные локальные, всё компилируется без каких либо проблем.
     
    Если вместо закомментированных строк вставить вызов какой либо процедуры, например ShowMessage(''), то ни к каким проблемам это не приводит...
  16. Like
    estra получил реакцию от HarrisNuh в custom URL scheme   
    В моем приложении реализована custom URL scheme. Как мне получить данные, передаваемые вызывающей программой? В iOS это делается при помощи метода
    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url   а как это делается в Delphi?
  17. Like
    estra получил реакцию от HarrisNuh в [Android] Почему у меня не принимается стиль, загруженный в TStyleBook?   
    Создаем мобильное приложение, кидаем на форму кнопку. Свойству StyleLookup кнопки выставляем значение backgroundstyle. Под Виндой кнопка стала выглядеть по другому, а в Андроиде нет. Почему?
  18. Like
    estra получил реакцию от zairkz в MultiView   
    Кстати, в вышеозначенном примере тоже есть ошибка, приводящая к Access Violation. Как воспроизвести:
     
    1. Запускаем пример под Windows;
    2. В выпадающем списке (Multi View Mode) выбираем Custom;
    3. Открываем MultiView (нажатием кнопки в левом верхнем углу формы);
    4. Не закрывая MultiView закрываем приложение. Получаем Access Violation.
     
    Попробуйте исправить сами, а если не получится, можете подсмотреть решение:
     
     
  19. Like
    estra получил реакцию от Brovin Yaroslav в [TRESTClient] Как добавить данные в заголовок запроса (Authorization)?   
    Оно?
    RESTClient1.Params.AddHeader()
  20. Like
    estra получил реакцию от Alex7wrt в Admob не могу понять...   
    как то так
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if Key = vkHardwareBack then // если закрывать не нужно, то begin // делай что нужно Key := 0; KeyChar := #0; end; end;
  21. Like
    estra получил реакцию от flash1222 в Admob не могу понять...   
    как то так
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if Key = vkHardwareBack then // если закрывать не нужно, то begin // делай что нужно Key := 0; KeyChar := #0; end; end;
  22. Like
    estra получил реакцию от Kitty в [TRESTClient] Как добавить данные в заголовок запроса (Authorization)?   
    Оно?
    RESTClient1.Params.AddHeader()
  23. Like
    estra получил реакцию от Kitty в Admob не могу понять...   
    как то так
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if Key = vkHardwareBack then // если закрывать не нужно, то begin // делай что нужно Key := 0; KeyChar := #0; end; end;
  24. Like
    estra получил реакцию от Евгений Корепов в Цифровая клавиатура при нажатии кнопки.   
    А как вы скрываете TEdit? Если Edit1.Visible = False, то в данном случае такой вариант не годится (для текстового поля с Visible = False клавиатура появляться не будет). В вашем случае надо делать так: Edit1.Visible = True, Edit1.Opacity = 0. Тогда для кнопки пишем такой код:
    procedure TForm1.Button1Click(Sender: TObject); begin Edit1.SetFocus; end; и получаем желаемый эффект.
  25. Like
    estra отреагировална ruslan в Решение Segmentation fault(11). Или "Axe beats in the balls"   
    Добрый день всем тем несчастным кто пишет на фаирманки.
    Если ваше приложение (под андроид) делает больше, чем приложения из папки Samples, если оно содержит не только ButtonClick и Memo, то, наверняка, вы постоянно наблюдаете мою "любимую" ошибку при закрытии приложения: Segmentation fault(11).
    Если Вам надоело править исходники из папки {XE7}\Source, если ваше приложение ну никак не хочет полностью выгружаться и висит в фоновых процессах, 
    покажу Вам свое решение данной, мягко говоря, проблемы.
     
    Подключаем к проекту приложенный .pas и в нужном месте кода(желательно на OnClose главной формы) юзаем процедуру KillMe.
    Теперь Ваше приложение всегда будет выгружаться из памяти, а также запускаться с 1-го раза.
     
     
    п.с. Если посмотреть исходники, то можно понять смысл названия топика.
     
    uVedroProcess.zip
×
×
  • Создать...