datasnap

big streams with DataSnap

空扰寡人 提交于 2019-11-30 17:33:51
问题 I'm trying to transfer some big streams (~1Mb) between DataSnap server/client but to no avail. I'm trying to understand the code of Jim Tierney (http://blogs.embarcadero.com/jimtierney/2009/04/06/31461) with no luck and i can't even compile the code because of a missing library, anyway ... The max size of a stream i`m able to receive is 64k, so any tips/ideas/code samples you can provide for a weekend programmer like me will be very welcomed. Thank you! my server code: function TsrvMethods

Delphi: Accessing JSON Objects within a JSON Array

我只是一个虾纸丫 提交于 2019-11-30 14:14:23
I have a JSON Object, let's name it jObject that looks like this: { "id": 0, "data": "[{DAT_INCL: \"08/03/2012 10:07:08\", NUM_ORDE: 1, NUM_ATND: 1, NUM_ACAO: 2, NUM_RESU: 3}, {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 2, NUM_ATND: 1, NUM_ACAO: 4, NUM_RESU: 5}, {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 3, NUM_ATND: 1, NUM_ACAO: 8, NUM_RESU: NULL}]" } As you can see, it contains two pairs, one of which is an array with three objects in this case (the amount of objects is dynamic) with multiple "key: values"(these don't vary, being always the same 5 fields), which I want to insert into an

Delphi XE2 DataSnap - Download File via TStream With Progress Bar

那年仲夏 提交于 2019-11-30 14:12:42
问题 I've written a DataSnap server method that returns a TStream object to transfer a file. The client application calls the method and reads the stream fine. My issue is that the method call takes a while to complete before the TStream object is available to read, but on the server side I can see that the method call only takes a second to create the object to return. I was hoping the stream object would be returned immediately so that I can read the stream and display a progress bar for the

Can't retrieve TStreams bigger than around 260.000 bytes from a Datasnap Server

妖精的绣舞 提交于 2019-11-30 05:59:44
问题 I have a Delphi 10.1 Berlin Datasnap Server, that can't return Data packets (through a TStream) bigger than around 260.000 bytes. I have programmed it following the \Object Pascal\DataSnap\FireDAC sample from Delphi, which also shows this problem. The problem can be seen just opening that sample, setting blank the IndexFieldName of the qOrders component on ServerMethodsUnit.pas, and changing its SQL property to : select * from Orders union select * from Orders Now the amount of data to be

Reconcile Error: Has anyone had problems with truncated error messages?

邮差的信 提交于 2019-11-30 04:54:36
问题 I'm here again to ask for a help to you. This time I believe that few will respond given the great particularity of the problem which I will relate. I'm starting in the world of DataSnap, and still have things I do not understand how this error I will relate. My Delphi is XE (version 1, Update1). I am using Postgres which generates error messages in Portuguese (Portuguese Brazil) and for this reason the error messages have accents. The connection components are ZeosLib package. I am using a

Is it possible to recompile the DataSnap packages in Delphi XE with a new/different version of Indy?

我只是一个虾纸丫 提交于 2019-11-30 03:24:14
问题 Okay -- we have an interesting problem. Some background: Our main application uses Indy 10. However, we take the Indy 10 source and fix bugs in it, recompile, and install our own set of Indy components. We are migrating to Delphi XE and want to start using DataSnap. DataSnap requires the "official, shipping" version of Indy which is incompatible with our customized version of Indy. Our DataSnap servers will be separate applications, but since we have our own Indy installed in the IDE, we can

Access Request Header in Delphi XE3 DataSnap Server

扶醉桌前 提交于 2019-11-29 15:02:18
问题 I am implementing a REST server API in Delphi XE3 (first time using Delphi in about a decade so am a bit rusty). Currently it is using Indy server for debug purposes, but eventually it will be an ISAPI dll. Now I have implemented a number of TDSServerClass classes and want to access the request header within the class methods. So for example when the user requests mysite.com/datasnap/rest/foo/bar I want to be able to read the header within the foo class method called bar. Is this possible? If

How can I update a DataSnap server while clients are still connected?

天大地大妈咪最大 提交于 2019-11-29 07:22:30
We use stateful DataSnap servers for some business logic tasks and also to provide clientdataset data. If we have to update the server to modify a business rule, we copy the new version into a new empty folder and register it (depending on the Delphi version, just by launching or by running the TRegSvr utility). We can do this even while the old server instance is running. However, after registering the new version, all new client connections will still use the currently running (old) server instance . All clients have to disconnect first, then the new server will be used for the next clients.

Can't retrieve TStreams bigger than around 260.000 bytes from a Datasnap Server

拟墨画扇 提交于 2019-11-28 12:26:27
I have a Delphi 10.1 Berlin Datasnap Server, that can't return Data packets (through a TStream) bigger than around 260.000 bytes. I have programmed it following the \Object Pascal\DataSnap\FireDAC sample from Delphi, which also shows this problem. The problem can be seen just opening that sample, setting blank the IndexFieldName of the qOrders component on ServerMethodsUnit.pas, and changing its SQL property to : select * from Orders union select * from Orders Now the amount of data to be send is beyond 260.000 bytes, which seems to be the point where you can't retrieve it from the client.

How can I update a DataSnap server while clients are still connected?

女生的网名这么多〃 提交于 2019-11-28 01:15:17
问题 We use stateful DataSnap servers for some business logic tasks and also to provide clientdataset data. If we have to update the server to modify a business rule, we copy the new version into a new empty folder and register it (depending on the Delphi version, just by launching or by running the TRegSvr utility). We can do this even while the old server instance is running. However, after registering the new version, all new client connections will still use the currently running (old) server