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

rustam_d

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

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

  • Посещение

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

    2

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

  1. 1) это не безопасно, т.к. логин-пароль храните в приложении и большой риск что его могут достать

     

     

    2) постоянный коннект с БД тоже плохо

    3) клиента можно разгрузить и переложить часть операции на сервер

    4) ответ о дисконнекте с базой трудно отловить, проще по HTTP (он точно вернет ошибку, даже если инет пропадёт)

     

    обана опять холивары про клиент сервер ? )))

    1) у меня логины в систему и есть логины в MSSQL, пароль не храниться НИГДЕ кроме как в бд, а безопасность разделяется ролями в БД, а это наивысшая безопасность к данным, которые храняться в БД, если руки не кривые.

    2) я не использую постоянные, только на время операций, как все закончил, дисконнект.

    3) вы хотите сказать переложить операции на сервер ВАШ, но никак не БД ! А вот в клиент-сервере на 100% на сервер БД, если хранимые процедуры используются.

  2. Я конечно понимаю, что бороться с проблемой весело, но если не секрет, зачем вам серверная часть, отвечающая за пуши в виде экзешника? Почему выбор не пал на давно реализованное PHP решение, которое может работать на любой платформе?

    много факторов )

    - для тестов на делфях полезно

    - я сам не юзаю это как сервер, у меня джобы на MSSQL все делают, что поделать многие адекватные люди выбирают тот путь, где профи

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

    у меня извините сроки не резиновые чтобы с ними нянчиться, мне срубить бабки и попрощаться надо еще...а им подавай решение иначе не подпишут АВР

    - еще форум этот если не ошибаюсь на fmx заточен (я не спорю php универсально и удобно, но сори не мое, "ну не люблю я его"(с), это на оутсорсе у меня)

  3. В топике старый протокол отправки пушей на ИОС. Не более 256 знаков, а с учетом юникода так вообще не более около 50 букв на русском!!!

    Переписал на новый 2-й протокол, чуток попапрился с байтами-битами ), но все же сделал. Теперь на русском можно около 400 букв, а на инглише

    как и разрешено около 2000. Это лучший ответ, но не хочу и первую версию снимать со счета...она ведь для ИОС ниже 8.

    Вообщем Enjoy :

    procedure TForm1.Button2Click(Sender: TObject);
    var
      i,j,p: integer;
      s,c,t,m: string;
      vStr: TStringStream;
    begin
      if not TCPClient.Connected then TCPClient.Connect;
      m := EscapeString(edMsg.Text);
      c := edToken.Text;
      t := '';
      for i := 0 to (length(c) div 2) - 1 do t := t + AnsiChar(Byte(('$'+copy(c,i*2+1,2)).ToInteger));
      s := '{"aps":{"alert":"'+ m +'","sound":"default","badge":0}}';
      p := length(s);
      j := p + 38;
      s := #2#0#0 + AnsiChar(hi(j)) + AnsiChar(lo(j)) + #1#0#32 + t + #2 + AnsiChar(hi(p)) + AnsiChar(lo(p)) + s;
      vStr := TStringStream.Create(s);
      try
        SSLHandler.write(vStr);
      finally
        vStr.Free;
      end;
    end;
    

    p.s: нафиг 4 байта для общей длины...если дали разрешение на длину сообщения в 2 килобайта...

  4.  

    Факторов не мало:

    - Есть свой человек толкатель в компании? Если да то долю(откат) ему 20-30%, это мотивирует увеличить цену иначе придется работать как лох не выше пару-штук баков...на месяцы )

     

    Это Казахстан детка!! ;)

     

    ну не только, КЗ вечный ученик Раши ).

    А вообще откаты, это болезнь СНГ...да сложно назвать откатами коммерческие деньги...это просто обман акционера, а не страны

    В своей практике наблюдал следующие случаи/сделки.

    Исполнитель(прогер) предложил Заказчику программу за 30000$. Пропорция дохода была Исполнитель 100% - Заказчик 0%

    Затем нарисовался Толкатель от заказчика(как правило "ком.директор"). Толкатель предложил 250 000$.

    В итоге сошлись именно на этой сумме и Пропорция составила Исполнитель 50%(125 000$) - Толкатель(Заказчик) столько же 50%.

    Решать прогеру как поступать...быть честным и никогда не купить лицензию DX, либо жить и поступать как наши президенты и жить нормально на 150 прадо )),

    а лицензии DX(arch) дарить школьникам...на сдачу )

  5. Факторов не мало:

    - Есть свой человек толкатель в компании? Если да то долю(откат) ему 20-30%, это мотивирует увеличить цену иначе придется работать как лох не выше пару-штук баков...на месяцы )

    - Претендует на тиражирование? Если да, то можно снизить цену за "обкатку", иногда на 50% если веришь в себя и в проект ), а это поверь надо!

    - Исходники хотят? обычно Цена проекта умноженная на 3-4 (переживать не стоит, ведь требуются доработки постоянные).

    - Дизайн иконок и заставки ВАЖНО с себя снять, иначе достанут по мелочам...т.е. получаешь все с заказчика.

    - Если дроид и ИОС, то сертификаты с них и дальнейшее слежение за магазами

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

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

     

    Примерно так.. )

    Удачи стать независимым от ЗП, это и есть настоящая свобода ).

  6. Ярослав,

    раз у вас немного нашлось время на компоненты для DX )

    Вопрос: можно ли реализовать сабж для андроид? Цвет текста не прошу.

     

    Просто авто-яркость с ума сходит на гаджетах...

    А если не сложно то и цвет рамки бы править хотелось бы, чтобы сделать ее одинаковой с бэкгроундом.

     

  7. Браво Евгений! 

    Однако для ИОС не судьба заменить титле...(

     

    Эх еще бы группой принять пуш в дроиде...тогда на 100% можно по пушам закрыть вопросы..

    Вот пример группового пуш.

     

    d92d634f03b1.jpg

    • Доступно редактирование цвета заднего фона (TfgToast.BackgroundColor)
    • Доступно редактирование цвета сообщения (TfgToast.MessageColor).

    не работает это, оба цвета не работают, цвета такие же как скрине и не меняются

     

      public
        Toast: TfgToast;
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Toast := TfgToast.Create;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Toast.BackgroundColor := TAlphaColorRec.Blue;
      Toast.MessageColor := TAlphaColorRec.Red;
      Toast.Show('Привет!');
    end;
    
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Toast.Free;
    end;
    
  8. Версия 0.7.0.69 не ставиться.

    1.

    Ошибка.

    Never-build pakage 'fgx' must be recompiled.

    Старую версию не ставил на DX10.

    2.

    Также странности, один раз была кнопка install...более не отображается.

    На всякий случай как обычно добавил вручную путь к Опциях к FGX\Library, хотя в инструкции этого нет....не помогает.

    Еще вопрос, 210 цифра это норм? Понятно что название, но мало ли..

     

    90206a8bb7cb.jpg

  9. В новую версию FGX 0.7.0.69 добавил новый класс TfgToast. Он работает только под Android. В следующих версиях добавлю поддержку остальных платформ и опцию установки размера самого сообщения.

    Спасибо!

    Буду очень ждать под IOS ведь это и была главная проблема, чтобы иметь универсальный тоаст для дроида и иоса...ок пока потестим что есть.

  10. .....Теперь для загрузке обязательно необходимо обновить xCode до версии 7.1 и SDK9.

    можно ли по подробнее? загрузки чего? версии самой программы ipa или нажатия Submit ?

     

    p.s.: надо было назвать тему "что можно сделать за время попыток публикации проекта в AppStore":

    - построить 2 этажный дом и заселиться

    - написать андроид проект с нуля - опубликовать и получить прибыль

    - съездить в таиланд, в турцию и в испанию, но уже забыть о чем был проект

    - уволиться с работы, начать новый проект на другой работе и снова уволиться

    - потерять не менее 3-х заказчиков...

    - получить инфаркт от унижений...

    - и т.п.

  11. Бился сегодня весь день, но так и не разобрался в чем причина, заменил ListBox  на ListView, в принципе он и полегче немного, и все заработало, но все же не понятно почему ListBox перестал работать совершенно с теми же настройками в XE10.

    все дизайн элементы пересекаются в dfm, возможно что-то старое не совместилось...

    при переходе на 10 желательно удалить старый андроид манифест, или заново накидать спорные компоненты на форму с нуля

    также может и погнал бы и listview ...но вы то с нуля его...

    короче если проект черновой и не большой, то накидайте с нуля листбокс и байнды...думаю все будет ок

  12. Доброго времени суток всем!

     

    Немного предистории:

    есть проект, Delphi XE7 под iOS (Ad hoc), делается под нескольких заказчиков со слегка отличающимся функционалом.

    В модулях проставлены {$IFDEF тра-ля-ля}, с этим проблем нет.

    Хочется немножко упростить билд релизов, создав "деток" для

    Смотрю в Deployment конфигурации Customer1 - а там все пути указывают не на Output\iOSDevice\Customer1, а на Output\iOSDevice\Release.

    Ручками в конфигурации задаю все пути как .\Output\$(Platform)\Release , но это тоже не помогает.

     

    Что я делаю не так?

    как правило слово "слегка" всегда стремиться к "серьезно"...то что пошло тиражирование поздравляю.

    постоянное переключение конфигурации в опции проекта может со временем запутать...причем не кисло.

    мне кажется по старинке проще, несколько папок, НО, в одной папке типа SHARED складывать общие формы и юниты,

    которые точно будут соответствовать "слегка", сорри за офтоп )

  13.  

     

    Неполный пример - Integer, как и pointer укладывается в регистр EAX/EBX или какие_там_сейчас_у_процессоров.

    С учетом модели вызовов register, используемой в Delphi, для integer выигрыша в передаче по ссылке/по значению нет. Ну, разве что при передаче по ссылке в винде будет PageFault и процессору придется подгружать страничку. Но это крайне маловероятно, с учетом того, что реальное значение было доступно в вызывающем коде.

    Поэтому и передается по значению.

     

    Корректнее было бы сравнить string, record и array, ибо

    Using const allows the compiler to optimize code for structured - and string-type parameters.

     

     

    Да, вы правы. Со string и class получилось также как и с integer, а вот record и array передались по ссылке и в var, и в const. В любом случае ничего не изменилось в этом плане, в последней версии всё аналогично, а значит править ничего не нужно.

     

    рад за Kami, а то ведь я видимо пургу нес ))

  14.  

    да уж ссылочка, почитал, кошмар...теперь ведь все проекты при переходе перелопачивать под "const [Ref]"...жескачь 

    т.е. везде в новых проектов писать эти 11 знаков? мдя...ладно 5 ну 11 уже слишком да и код не айс становиться

     

     

    Вообще-то модификатор const никогда не передавал переменную по ссылке, всегда было по значению, ничего не изменилось в этом плане. Наоборот добавили новую возможность передать по ссылке с использованием модификатора const.

     

    наверно вы правы...люди же для красоты или забавы писали const ))

    если ваша правда, то значит что указать const что не указать все всегда было одно и тоже...просто делать нечего было...вот и писали const )

  15. rustam_d, сам с удивлением узнал - оказывается (по крайней мере в Seattle) - не обязательно.

    Пруф: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Parameters_%28Delphi%29#Constant_Parameters

     

    Особенно добила фраза

    Constant parameters are similar to value parameters

     

    Она появилась как минимум в D2010, версии старше просто нет :)

    да уж ссылочка, почитал, кошмар...теперь ведь все проекты при переходе перелопачивать под "const [Ref]"...жескачь 

    т.е. везде в новых проектов писать эти 11 знаков? мдя...ладно 5 ну 11 уже слишком да и код не айс становиться

    • При const может создаваться копия передаваемых данных.
    • При Ref копия не делается, поэтому есть небольшая выгода по памяти.

    не понял, const это копия? ведь в VCL вроде это и означает ссылку по крайней мере не для объектов...

    или это опять "свой мир" fmx?

  16. отвечу сам

    в оригинальном видео на испанском языке товарищ подчеркивает наличие  в uses  fmx.PushNotification.android 

    да есть такое, уже привык что отсутствие модуля не значит, что не скомпилится...еще как ). Писал вон с ИОС аналог ситуация была...не добавил и привет...

    а я ведь не зря юсесы показываю...не зря...

     

    P.S. в VCL всегда старался убрать лишние модули, т.к. потенциальная потеря памяти...а тут...

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