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

osvirt

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

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

  • Посещение

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

  1. Реанимирую тему.

    Вылезла такая же ситуация, при очень странных обстоятельствах.

    Накануне вечером компилил проект - всё проигрывалось. Комп не выключался на ночь, IDE не закрывал, утром запускаю - ошибка.

    Что ещё страннее - скомпилированный и работавший вчера ехешник, лежащий в другой папке с другой копией mp3шного файла, тоже ругается.

  2. 42 минуты назад, Евгений Корепов сказал:

    если вы хотите воспользоваться этим механизмом, то начните гуглить NETBIOS, или попробуйте послушать снифером порт 137 (TCP если не ошибаюсь). В теории слушая этот порт и разбирая полученные пакеты у вас будет список из связок "Имя компьютера"-"IP адрес". Имейте ввиду, что в сети более чем с двумя компьютерами на этот порт может валиться несколько сотен пакетов в секунду.

    И одно большое "Но" - гугль не любит микрософт, поэтому на всех не рутованных устройствах порты NETBIOS заблокированы от слова совсем, конечно же в целях безопасности.

    Кажется пора переводить свои приложения на app tethering... к чему все эти танцы с бубном?!

  3. В 22.05.2017 в 16:37, Евгений Корепов сказал:

    И попробуйте перефразировать свой вопрос, уточните конкретную задачу, так будет проще понять что вам нужно.

    Скорее всего вопрос не в ту тему, но в какую именно его задать - не знаю.

    Если скорректировать вопрос для этой темы, тогда он будет такой: "Как в TIdTCPClient.Host использовать имя компьютера в сети без домена?"

    Если не для этой темы, тогда так:"Как узнать IP удалённого компьютера в локальной сети, зная его имя, на устройстве с android?"

  4. В 15.05.2017 в 19:38, ENERGY сказал:

    всё просто же! Всего-то и надо, что скачать ещё одно приложение на мобилу, купить принтер, поддерживающий AirPrint, зарегистрировать мобилу и принтер в Google cloud Print... и в итоге всё равно каким-то образом подготавливать отчёт ручками...

    Сомнительное удовольствие, нет?!

  5. Каким образом можно обратиться к компьютеру не по IP? Разнообразные хэлпы говорят: "The address can be a computer name such as "wvnvm.wvnet.edu" or an IP Address such as "129.71.2.4"."

     

    Я так понимаю, что тут нужен либо непосредственно айпи, либо dns-сервер, чтобы разрешить имя в айпи. Для Win приложения для разрешения имени можно использовать WinSock.

    Чего делать на андроиде?

  6. В 07.04.2016 в 21:14, walexw сказал:

    Проблема простая, мне необходимо по моей БД (SQLite на планшете) выдавать простенькие табличные отчеты.
    Ну и конечно дать возможность их распечатывать. (Клиенты - обычные люди, не имеющие производственных сетевых ресурсов).

    ...

    Кто что посоветует?
     

    Вдруг кому-то ещё пригодится...

    Для своих нужд, я написал небольшое десктопное приложение-принтсервер. Отправляю данные с планшета на него, а тот уже формирует нужные мне отчёты и отправляет на нужный принтер (для каждого клиента, соответственно можно настроить свой, или для всех один)

  7. Похожая проблема (также XE 7 UPD 1). Только приложение работающее, с кучей компонентов, анимацией и видимыми/невидимыми layout'ами.

    Тестировалось на куче машин с разной конфигурацией: XP - Win10, 32х/64х, совершенно разное железо. Везде всё хорошо работало и не мерцало.

     

    Но нашлась одна машина, на которой началась "цветомузыка". Видимость элементов скачет, курсор прыгает между двумя последними выбранными TEdit, набранный в этих эдитах текст, появляется исчезает (визуально!!! данные не теряются). Программа начинает вести себя так, как показывают в фильмах, передавая видения людей "под кислотой" - тут похоже виноват мерцающий MultiView.

     

    Единственное существенное отличие в конфигурации этого компьютера: моноблок с сенсорным экраном под управлением 8-й винды. Грешил на сенсорный ввод: может думает, что мышь - это палец, которым по экрану водят и программа с ума сходит. Отключил службу "сенсорного ввода и пера" (как-то так называется) - не спасло положение. Может дело не в сенсорном вводе, а в чём-то другом. Но разбираться на месте не было, к сожалению, ни возможности, ни времени.

  8. День добрый.

     

    К слову о дизайнере стилей: для чего вообще нужен был дополнительный наворот с недоделанным интерфейсом? Чем не устроил готовый редактор формы, в котором можно делать всё то же самое но БЕЗ косяков с обновлением положения, размера, цвета, выделения элементов мышой?

     

    Почему нельзя было реализовать его по принципу DataModule? - desing-time отображаемый невизуальный компонент, содержащий в себе кучу вложенных компонентов.

  9. Доброе время суток.

    В том ответе меня смущает следующее: 

    1. Иметь опубликованное свойство триггера (published)

    Раньше с таким не сталкивался, поэтому всё, что я нашёл по этому вопросу, упиралось в скупую(а может "Смотрю в книгу, вижу..") справку Embarcadero об Events.

    Никаких примеров, к сожалению, не нашёл :-(

  10. Т.к. похожая тема закрыта, пришлось создавать новую.

     

    Ситуация такая: есть кастомный listboxitem с детальной информацией. Еще есть бешеное желание перекрашивать текст Detail в зависимости от содержимого: соответствует содержимое условию или нет.

    Возможно-ли создать свой собственный триггер, на который потом повешать анимацию изменения цвета? Или тут всё сложнее: сделать наследника TListBox, добавить ему булевое свойство (соответствует / не соответствует) и уже на это свойство вешать триггер?

     

    (если какой-нибудь примерчик попрошу, ногами пинать не будете?)

  11. XE7 Upd.1

     

    Не устанавливается кастом-стиль. Баг или я что-то не так делаю?

     

    А делаю следующее: Edit Custom Style, у объекта Текст меняю цвет и жирность, "Применить и закрыть".

    Не устанавливается.

     

    При выборе в редакторе свойств StyleLookup новый стиль показывается, но не применяется.

     

    Неприятно :-( с цветом по-умолчанию заголовков вообще не видно. 

     

     

    зы... с самими элементами списка всё норм

    ззы... футер тоже не меняет стиль...

  12. В реальной программе решение, выбранное первоначально, начало ругаться на неизвестные имена процедур.

     

    Почитал про "Application.ProcessMessages" и воспользовался им - всё встало на свои места.

     

    Еще раз спасибо!

  13.  

     

    Слипом вы подвешиваете главный поток, поэтому кнопка остаётся нажатой. Почему не происходит прорисовка, я точно сказать не могу, но скорее всего связано с подвешенным главным потоком.

    На сколько я помню, События OnClick происходят после нажатия и последующего отпускания кнопки мыши на одном и том же контроле... Но никак не после нажатия, не взирая на то, что событие "Click" по сути ещё не произошло. Странно, в-общем.

     

     

     

    Сделал так - покрасивше вроде. Спасибо!

    Можно написать вот так (без синхронизации тоже работает, это у меня уже в привычку вошло, работу с визуальными компонентами в синхронизацию запихивать):

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    
      TThread.CreateAnonymousThread(
      procedure
      begin
    
        Panel1.Visible := True;
    
        TThread.Sleep(3000);
    
        Panel1.Visible := False;
    
      end
      ).Start;
    
    end;
  14. Доброе время суток.

    Проблема в следующем:

    Создаю пустое FM-приложение.

    Кидаю кнопку и любой прямоугольный компонент(проверял на TLayout, на котором лежал TRectangle, и на TPanel).

    У "прямоугольника" Visible установлено в False.

    На событие кнопки OnClick вешаю обработчик:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Panel1.Visible:=true;  //TLayout.Visible:=true;
      sleep(2000);
      Panel1.Visible:=false; //TLayout.Visible:=false;
    end;
    

    Запускаю...

    Происходит следующее:

    По клику выполняется sleep, и только после этого быстро-быстро видимость включается/отключается. При этом, пока действует sleep, кнопка остаётся нажатой.

    Получается, что часть функций выполняются как-будто по OnMouseDown, а часть по OnMouseUp.

     

    В VCL приложении всё в порядке: видимость включается, программа ждёт 2 секунды, видимость отключается.

     

  15. Добрый день.

    Есть простейший код:

    begin
     fgActivityDialog1.Show;  
      <цикл с вычислениями>
     TabControl1.TabIndex:=1; 
     fgActivityDialog1.Hide;
    end;
    

    в котором ActivityDialog не показывается. Т.е. цикл с вычислениями проходит и после него меняется вкладка, но строка с показом диалога активности игнорируется.

    Если вместо "fgActivityDialog1.Show" вставить MessageDlg, то он показывается и программа ждёт решения пользователя.

     

    Возможно вопрос и не по теме данной ветки, т.к. попытки показать простой Layout с полупрозрачным прямоугольником (Layout1.show вместо fgActivityDialog1.Show) так же не привели к успеху.

    Что посоветуете, где могут быть грабли?

  16. меня сбило с толку это сообщение:

     

    Меня ввело в заблуждение "full-screen mode in your Android 4.4 apps (KitKat)", я подумал, что только в киткате это будет работать

     

    ясно теперь. Спасибо за объяснение.

    Правда странно, что в XE5 (без 2 обновления) я не замечал этой кнопки...

     

    Может к ней можно хотя бы обращаться как-то в дизайн-тайм, чтобы она не была бесполезной, когда программа запущена на устройстве.

  17. может я чего не понимаю или не про те кнопки думаю, но создаю новое пустое FM-приложение, в Design-time устанавливаю свойство формы BorderStyle в "None" и при компиляции на мобильном внизу экрана появляется кнопень с тремя точками. Если это оно, то что-то работает не так.

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