estra
Пользователи-
Постов
370 -
Зарегистрирован
-
Посещение
-
Победитель дней
20
Весь контент estra
-
В данном случае в примере нет большой необходимости, но раз вы просите… unit Unit2; interface type TTest = class public class operator Equal(a,b: TTest): Boolean; end; implementation { TTest } class operator TTest.Equal(a, b: TTest): Boolean; begin end; end. Этот код под Windows не скомпилируется в принципе, а под Android скомпилируется нормально.
-
Вопрос к разработчикам. Почему в платформе FM перезагрузка операторов для классов работает на для всех платформ, в частности работает для Android и не работает для Windows? P.S. [offtop] Нет ли в планах добавления возможности перезагрузки операторов для классов в VCL?
-
наверное. спасибо.
-
Как узнать какой компонент открыл клавиатуру? Событие FormVirtualKeyboardShown не подходит, параметр Sender всегда указывает на форму.
-
ну раз вопрос закрыт, значит понял...
-
Вопрос закрыт. Проблема версий. Код не работал в XE7, а в 10 Seattle заработал.
-
Немного сомнительное утверждение. Вот скрин Из него видно, что разделитель - #012, то есть восьмеричная система, что соответствует #10 в десятичной, или #$A в шестнадцатеричной. То есть андроиду для переноса нужно не 12 а 10. К тому же студия сама прекрасно справляется с подобными ситуациями, вот тот же код, но уже под винду
-
// Content - TStringBuilder b := BytesOf(Content.GetString); b := TEncoding.Convert(TEncoding.UTF8, TEncoding.ANSI, b); ClientSocket.SendData(b); b - это и есть array of byte (TBytes).
-
Одна команда ничего не даст Команда PRINT запускает процесс печати, но перед ней нужно указать хоть какой то контент (нет контента - нечего и печатать), а это как минимум 2 команды
-
Принтер Нужно передать принтеру строку с командами, разделенными #13#10. Но когда я подготавливаю строку для передачи // Content - TStringBuilder b := BytesOf(Content.GetString); b := TEncoding.Convert(TEncoding.UTF8, TEncoding.ANSI, b); ClientSocket.SendData(b); подозреваю, что символы #13#10 меняются на что то другое (о чем косвенно свидетельствует скрин в первом посте), в следствии чего принтер не понимает переданные команды.
-
Нужно использовать именно #13#10, ибо эта строка команд предназначена для принтера, который (по спецификации) ожидает именно такой разделитель Эту проблему поборол, хотя причину так и не понял. Просто создал новый проект и перенес туда код. Теперь в Memo все переносится как надо, но принтер упорно продолжает игнорировать команды.
-
Как я и предполагал, символы переноса пропадают. Красными вертикальными линиями выделены места, где должны быть переносы. Есть идеи почему такое может быть и как исправить?
-
Смогу посмотреть только после проздников. Как проверю, отпишусь.
-
Весь проект на скрине. Создаем новый проект FM, в обработчик нажатия кнопки пишем код со скрина и отлаживаем на устройстве. Сделайте это и посмотрите что вам покажет отладчик?
-
Непонятная ситуация. В отладчике под Android вижу следующую картину (см. скриншот). Почему то в подсказке символы представлены в восьмеричной кодировке. Нормально ли это (я ожидаю шестнадцатеричную кодировку)? Проблема выросла из следующего. Мне нужно отправить принтеру последовательность команд в виде строки, команды разделяются #13#10. Принтер не понимает команд, и единственная причина, которую я вижу, кроется в неверной подстановке символов. Я же хочу увидеть что то вроде #13#10 или #$D#$A, как можно этого добиться?
-
Об этом говорилось еще в прошлом году, при запуске Seattle. Ну и что?.. Какая разница как будет писаться версия, главное чтобы работало нормально, а с этим, к сожалению, большая беда… Установка тоже валится, но на другом пакете
-
Обновить операционку на планшете Обновить сам планшет (купить новый) Попытаться пошаманить с build.gradle (уменьшить значение minSdkVersion) Сменить инструмент разработки (recomend)
-
Вы сначала попробуйте, а потом положительным решением поделитесь с общественностью... А перед тем, как попробовать, загляните сюда.
-
Делал несколько приложений на FM под android, и исходя из своего опыта хочу сказать - лучше не рисковать. "Засада" может поджидать в самых простых (на первый взгляд) задачах, а голову будете ломать долго, и не факт, что успешно... Дабы не быть голословным, вот пример, после которого я перешел на java... Браузер не может открыть сайт по https, если имеются проблемы с сертификатом (например, он просрочен). Всего то и надо сказать браузеру чтобы он проигнорировал такой сертификат, но попробуйте это сделать на FM... И хорошо, что эта проблема всплыла в самом начале разработки приложения, и я почти не потерял время (и нервы)...
-
procedure TForm1.ComboBox1ClosePopup(Sender: TObject); var i: Integer; begin Memo1.Lines.Clear; for i := 0 to ComboBox1.Items.Count-1 do if ComboBox1.ListItems[i].IsChecked then Memo1.Lines.Add( ComboBox1.Items[i] ); end;
-
Какие порты использует paclient, кроме 64211? Проблема в том, что в сети, в которой я работаю, порты закрыты, и чтобы открыть какой то порт, нужно идти к админу. Все порты он не откроет, максимум диапазон, вот только где этот диапазон узнать? На каждую сессию выбирается рандомный порт, вроде 3478, 3663, 3794 и т.д. Вопрос к разработчикам: в каком диапазоне выбираются эти порты, или как указать paclient использовать один определенный порт?