Марк

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

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

  • Посещение

О Марк

  • Звание
    Пользователь
  • День рождения 25.06.1956

Информация

  • Пол
    Мужчина
  • Город
    Киев

Контакты

  • Skype
    shwarzberg

Посетители профиля

169 просмотров профиля
  1. Не понятная ошибка при компиляции проекта, в режиме дебагера под андроид -[DCC Error] E2597 D:\Developments\ForAndroidTab\Sourse/Configurator.pas:322: error: undefined reference to 'Applmain::MainForm' Ошибка начала появляться вдруг после очередной коррекции программы. До этого такого не было и все компилировалось сразу без перестройки проекта. По названию уже понятно что MainForm это главная форма из которой вызываются все остальные модули. В модуле Configurator естественно есть указание на эту форму в uses. Если сделать Build, то после этого все компилируется отлично и программа запускается на андроид планшете. Но достаточно изменить хотя бы один символ в любом модуле проекта ошибка повторяется и необходимо опять запускать Build. Может кто -то знает как с этим бороться, не переставляя всю среду. То что нашел по такой ошибке это совет проверить что стоит конфигурация Андроид в опциях библиотек. Проверил - стоит. Пользуюсь версией Berlin 10.1. SDK 25.2.5
  2. Еще раз спасибо за помощь! Я воспользовался Вашим советом и создал массив( у меня несколько панелей с картинками) с элементами TBitmap(FImageStore :array of TObjectList<TBitmap>;) Затем для каждой панели я создаю объект TObjectList<TBitmap>.Create; А каждую исходную картинку я гружу так n:=FImageStore[PageZal.PageIndex].Add(TBitmap.Create); try FImageStore[PageZal.PageIndex].Items[n].Assign(Bitmap); finally ImgList.TagObject:=FImageStore[PageZal.PageIndex].Items[n]; end; И когда нужно восстановить первоначальный вид то назначаю по клику на картинку через Pic:=(Sender as TImage); Pic.Bitmap.Assign(Pic.TagObect as TBitmap); И все вроде работает. Есть только еще один вопрос. При закрытии программы нужно ли освобождать этот массив объектов или нужно Освобождать Pic.TagObect ?
  3. Спасибо за оперативный ответ! Только не понятно зачем TagObject у глобального компонента сделан "слабой ссылкой", т.е. фактически локальной переменной. А вот под виндой все сделано правильно. Вот Вам и многоплатформенность. Я конечно и сделал глобальную переменную(массив) где храню исходные картинки по индексам соответствующим индексам картинок. Просто намного удобнее было использовать параметр конкретного компонента, тогда не надо делать индексный массив, а обращавшийся напрямую к параметру объекта. А стрим я храню вместо Bimap , т.к. при перегрузке картинки при использовании Assign, не перегружается картинка, если не очистить ее предварительно. Места как я понимаю занимают они одинаково.
  4. Версия XE 10.1 Berlin При переводе своего приложения работающего под ОС Windows на Андроид столкнулся со следующей проблемой. Я вывожу динамически ряд картинок на панель используя компонент TImage. Затем эти картинки могут быть отредактированы. Для восстановления первоначальной картинки использовал свойство объекта TagObject, куда загружал TMemoryStream, в который сохранял первоначальный объект TBitmap. Когда необходимо восстановить картинку, то из ее TagObject грузил в Image.Bitmap. Под ОС Windows все работало отлично. Но вот когда попітался то же сделать для Android ничего не вышло. Оказалось что попытка создать объект путем стандартной операции Image2.TagObject:=TMemoryStream.Create; ни к чему не приводит. Т.е. почему то TagObject остается равным NIL. TagObject можно присвоить только переменную потока после ее создания. Но не скопировать ее значение в TagObject. Т.е. хранить не получается. Не могли бы подсказать в чем дело. Прилагаю тестовый исходник. В нем есть 2 картинки и 2 кнопки. По первой кнопке сохраняем 1 картинку в TagObject второй. По второй кнопке загружаем из TagObject в Bitmap первую картинку. При компиляции под виндой все ОК, под андроидом - ошибка. TestStream.rar
  5. Будем считать вопрос закрыт. Но ответа как задать параметр выводить и дату и время в Пикере я так и не получил.
  6. Но в винде такого нет. А как же кросс-платформенность и один и тот же код для винды и андроида?
  7. Да. Так подходит. А родной компонент так не может? Т.е. как я понимаю,надо докупить библиотеку от TMS или писать свой пикер
  8. 1. Действительно при задании такого формата показывает и время и дату. 2. Но вот в чем проблема- Вопрос стоял как вывести "Picker" в котором можно выбрать и дату и время. А при использовании компонента TTimeEdit "Picker" не выводится, а есть возможность только увеличить или уменьшить выделенное значение. 3. Таким образом вопрос остается открытым.
  9. Используем для редактирования даты и времени компонент TDateEdit. При нажатии на правую галочку выводится календарь, но в нем можно выбрать только дату. Насколько я понял из хелпа используется стандартный "Picker". Там же написано, что он может работать как в режиме отображения только даты, так и в режиме даты и времени. Каким образом можно задать этот режим. Или надо писать свой компонент, с выводом даты и времени?
  10. При настройке компонента MultiVie параметр SplitViewOptions может принимать значения Left/Right При этом панель будет в режиме Drawer выезжать слева или справа. Что нужно предпринять чтобы эта панель выезжала снизу или сверху. Или этот компонент этого не может и надо писать свой на базе TCustomMultiView. Тогда подскажите как это сделать.