Искал чем можно показать экран мобильного приложения, чтобы можно было вывести на большой экран проектора, и нашел сервис http://www.mobizen.com
Для моего Samsung Galaxy Core 2 Dual прекрасно подошёл.
четверг, 21 мая 2015 г.
среда, 20 мая 2015 г.
Таймауты
Черт побери, почему именно 5 секунд на вызов обратной функции, Карл?!
procedure TDSClientCallbackChannelManager.Invoke(const Id: string;
Data: TJSONValue; out Response: TJSONValue);
var
Item: TDSCallbackItem;
Callback: TDBXCallback;
ExecThread: TDSExecuteThread;
begin
TMonitor.Enter(FLocalCallbackRepo);
try
if FLocalCallbackRepo.TryGetValue(Id, Item) then
begin
Callback := Item.Callback;
try
TMonitor.Enter(Callback);
ExecThread := TDSExecuteThread.Create(Callback, Data);
if not TMonitor.Wait(Callback, 5000) then
ExecThread.Terminate;
Response := ExecThread.Response;
procedure TDSClientCallbackChannelManager.Invoke(const Id: string;
Data: TJSONValue; out Response: TJSONValue);
var
Item: TDSCallbackItem;
Callback: TDBXCallback;
ExecThread: TDSExecuteThread;
begin
TMonitor.Enter(FLocalCallbackRepo);
try
if FLocalCallbackRepo.TryGetValue(Id, Item) then
begin
Callback := Item.Callback;
try
TMonitor.Enter(Callback);
ExecThread := TDSExecuteThread.Create(Callback, Data);
if not TMonitor.Wait(Callback, 5000) then
ExecThread.Terminate;
Response := ExecThread.Response;
среда, 13 мая 2015 г.
Потихоньку ваяю клиент-серверное приложение, применяя Datasnap Callback.
На время ожидания обработки запроса сервером буду показывать popup-форму ожидания, закрывающуюся по обработчику OnTerminate потока.
Естественно, это уже не анонимный поток, а специфический.
Ещё появилась необходимость передавать вызов процедуры с большим количеством параметров с сервера на клиент.
Пока что сделал регистрацию клиентской функции и ручками разворачиваю JSON в набор параметров.
Не хватает автоматической генерации обвязки как у серверных методов.
Есть мысль попробовать сделать Datasnap-сервер на клиенте и подключаться к нему...
На время ожидания обработки запроса сервером буду показывать popup-форму ожидания, закрывающуюся по обработчику OnTerminate потока.
Естественно, это уже не анонимный поток, а специфический.
Ещё появилась необходимость передавать вызов процедуры с большим количеством параметров с сервера на клиент.
Пока что сделал регистрацию клиентской функции и ручками разворачиваю JSON в набор параметров.
Не хватает автоматической генерации обвязки как у серверных методов.
Есть мысль попробовать сделать Datasnap-сервер на клиенте и подключаться к нему...
Подписаться на:
Сообщения (Atom)