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

Лидеры

  1. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      1

    • Постов

      2 517


  2. brunnengi

    brunnengi

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


    • Баллы

      1

    • Постов

      293


  3. krapotkin

    krapotkin

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


    • Баллы

      1

    • Постов

      2 182


  4. ENERGY

    ENERGY

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


    • Баллы

      1

    • Постов

      568


Популярный контент

Показан контент с высокой репутацией 23.06.2018 во всех областях

  1. ENERGY

    Назначить фрейму стиль формы

    Стиль не отображается с Frame только в DesignTime, в RunTime все ок. А так - никак, разве что смотреть в RunTime или проектировать на форме, а затем весь Layout копировать на фрейм.
    1 балл
  2. да блин нет никаких логин и пароль для THttpClient есть форма логина. она должна принять от пользователя данные и послать их серверу. Способ передачи и вызываемый URL зависит от конкретного программиста В ответ сервер присылает обычно токен или куку или еще что-то в этом духе. и далее при каждом запросе нужно передавать серверу эти присланные данные и возможно что-то еще. Чаще всего в заголовке запроса. Но иногда и в URL. А иногда и там и там нужно что-то передавать, чтобы сервер идентифицировал, от кого ему прилетел запрос. и вот этот-то механизм и есть то, что нужно гуглить. если тут есть спецы по WP, они могут знать подробности...
    1 балл
  3. вот так делается self.Fill.Color:= TAlphaColorF.Create(255/Random(255), 255/Random(255), 255/Random(255), 255/Random(255)).toAlphaColor;
    1 балл
  4. Не за что. Если что спрашивай. XML формат мне всегда был противен, хоть и понятен, но все равно внутренне я был против него и как следствие принципиально не использовал в своих программах. Но вот формат JSON мне очень понравился. Его легко написать от руки, легко читать, даже через регулярки парситься легко, если приспичило. И он не избыточен как XML, а значит по канала связи передается меньше трафика. Так что не бросай этот формат И кстати, что касается утечек. Я когда сам только начинал разбираться в формате JSON и с тем как работать с ним в Delphi, у меня тоже были утечки, ибо я использовал JSON для парсинга ответа с сервера, в потоке. Я тогда начал склоняться к всеобщему мнению что просто сама реализация работы с этим форматом в делфи кривая. Но поколебавшись все таки принял во внимание ту мысль, что разработчики Embacadero на девять жизней умнее меня, и вряд ли они выпустили модуль с таким явным глюком. И решил все таки углубиться дальше. Как оказалось просто поставить JS.Free в конце не достаточно. Т.е. вот так вот делать не стоит: var JS: TJSONObject; begin s := '{"jsonString":"ok"}; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; ShowMessage(JS.GetValue('jsonString').Value); JS.Free; end; В процессе работы потока с ним может случиться все что угодно - обрыв связи, тайоут сработает, или некорректные данные, или еще что нибудь. И JS объект может не освободиться. Т.е. поток может уже и не существует, но в оперативке созданный объект лежит. К тому же при таком подходе могут быть и ошибки, например параметра 'jsonString' может и не быть, и все вывалиться в ошибку (но в потоке этого можно и не увидеть) и до JS.Free код никогда не дойдет. А значит будет опять утечка памяти. Так что правильней всего делать через Assigned: var JS: TJSONObject; begin s := '{"jsonString":"ok"}'; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; if Assigned(JS) then begin ShowMessage(JS.GetValue('jsonString').Value); JS.Free; end; end; Тогда утечек не будет. Это я теперь точно знаю!)))
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...