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

Slym

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

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

  • Посещение

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

    39

Slym стал победителем дня 18 марта

Slym имел наиболее популярный контент!

1 Подписчик

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

17 362 просмотра профиля
  1. Как применено? Может оно и не вызывается?
  2. Надо дождаться завершения тасков например так: procedure TmainForm.FormClose(Sender: TObject; var Action: TCloseAction); begin //wait all tasks finished var ThreadPoolStats:=TThreadPoolStats.Default; if ThreadPoolStats.IdleWorkerThreadCount<>ThreadPoolStats.WorkerThreadCount then begin Action:=TCloseAction.caNone; TThread.ForceQueue(nil, procedure begin Application.MainForm.Close; end,300); end; end;
  3. без тестового проекта и файла... даже сравнить не с чем.
  4. о... да мы меряемся? на 1000: 250-333fps как тебе такое Sulion 10000... fps3.zip
  5. А зачем постоянно bringtofront? одного раза не достаточно? там реально медленно... я полагаю нужна глубина сцены? многие ее делают слоями: дальний фон (горы), ближний фон (лес), сцена (персы), и воздух (падающий снег) кидаем 4 лейаута и на них распределяем спрайты
  6. Загружать картинки не в Stream а в битмап сразу source.zip 1000
  7. Не красиво! Красиво: procedure TForm1.Button5Click(Sender: TObject); const s='18:C0:4D:7E:E6:B2'; // MAC адрес сетевой платы var Data:string; Bytes:TBytes; IdUDPClient1:TIdUDPClient; begin Data:=''; for var bt in s.Split([':']) do Data:=Data+chr(StrToInt('$'+bt)); for var i:=0 to 3 do Data:=Data+Data; Data:=StringOfChar(#$FF,6)+Data; Bytes:=TEncoding.ANSI.GetBytes(Data); IdUDPClient1:=TIdUDPClient.Create(nil); try IdUDPClient1.SendBuffer('40.240.8.50',9, TIdBytes(Bytes)); finally IdUDPClient1.Free; end; end;
  8. Плохая идея организовывать протокол на задержках (delay) в системах с вытесняющей многозадачностью. Только разделители (csv, json, PChar(#0)) или префиксы длины (http Content-Length) или жесткий фиксированный размер (packed record). Человеsleep(1000)ко читаеsleep(1000)мый теsleep(1000)кст - каково тебе И и ии ии ииилон мм мма мммааа...
  9. еслиб не "из DFM" то class helper подошел бы: TFDParamHelper = class helper for TFDParam public function AsInt64: int64; end; я бы еще и алиасов наделал.... type TUniParam = TFDParam; но "из DFM" это не катит...
  10. Проблема в том что ты убиваешь вкладку на которой кнопка выполняет свой клик... т.е. кнопка убивает себя из под себя... На до убийство сделегировать, например основному потоку через TThread.ForceQueue procedure TfrMain.TabClose(Sender: TObject); var activetab : Integer; begin activetab:=((Sender as TControl).Parent as TControl).Parent.Index; Thread.ForceQueue(nil, procedure begin TabControl1.Delete(activetab); end); end;
  11. открывай файл на запись и держи можешь туда pid записать для контроля
  12. На форумах принято делиться решениями... А вам + в карму
  13. Я вот давно уже делаю все на фреймах... Одно главное окно и кучка фреймов в рамках этого окна, даже ShowMessage - кастомный фрейм, даже некоторые TabItemы с фреймом. есть моменты где глубина вложенности фреймов доходит 4 (Окно, фрейм, вкладки с фреймами, под вкладки , фрейм с диалогом) Анимированную прозрачность фрейма - легко: там есть Opacity, TAnimator.AnimateFloat(Frame,'Opacity',1,1); Окна чуть сложнее... Масштаб - TScaledLayout
×
×
  • Создать...