#1 Re: mORMot Framework » Smart Mobile Studio 3 - Compilation error » 2019-01-22 18:22:10

I'm going through the same mistakes, testing SMS 3.

Is anyone using mORMot + SMS 3?

#2 Re: mORMot Framework » Delphi 10.2 Tokyo Compatibility » 2017-03-28 17:55:23

I was able to compile for windows 64 bit.
What did I do?
In the project options, in "Code Generation" I changed "Code inlining control" from On to Off.
Compile without crashing.
I hope you can reproduce there.

#3 Re: mORMot Framework » Delphi 10.2 Tokyo Compatibility » 2017-03-28 13:20:47

The same thing is happening with me. For windows 64bit hangs.
If you find a solution.

#4 Re: mORMot Framework » Decrease in the consumption band for iOS and Android clients » 2015-06-19 12:59:03

In this excerpt (client side FMX)

TServiceLoja.Get_Logo function (IDLoja: Int64;
                                var Logo: TServiceCustomAnswer TSQLRawBlob {};
                                var RetornoCodigo: Integer;
                                var RetornoMensagem: String): Boolean;
   res: TVariantDynArray;
   fClient.CallRemoteService (self, 'Get_Logo', 4,
      Hence, E2010 <<< // ERROR: Incompatible Types: "TServiceCustomAnswer" and "Variant"
      RetornoCodigo, RetornoMensagem], res);

// Result: = res [0];

   Logo: = res [0]; <<< // ERROR E2010: Incompatible Types: "TServiceCustomAnswer" and "Variant"
   RetornoCodigo: res = [1];
   RetornoMensagem: = res [2];
   Result: = res [3];

Accuses highlighted above errors.

How to solve them? Or as converts to TServiceCustomAnswer Variant correctly?

#5 mORMot Framework » Decrease in the consumption band for iOS and Android clients » 2015-06-18 21:12:15

Replies: 3

Dear ab.

I need for greater flexibility to send and receive binary files (JPG and DataSet plain) with the aim of minimizing the consumption of internet, because here in my country this is a very poor quality of service.

For this I need in the Client for iOS and Android can write functions (services) sending and receiving TServiceCustomAnswer. Including more parameters. Today it seems that only this available to receive TServiceCustomAnswer.

Here we were treated this http://synopse.info/forum/viewtopic.php?id=2592, but only for download. But also said takes to upload.

Already I sought a solution to this and found the Forum and documentation and examples. Or am I blind.

To solve the problem I am momentarily using THttpApiServer and manupulando the Ctxt: THttpServerRequest. But it seems that is not secure.

Do you have any plans to implement this or have other better solution?

Thank you.

#6 Re: mORMot Framework » My Mobile Project. Doubts. » 2015-02-07 10:08:25

Hello ab.

I noticed that TServiceCustomAnswer has not yet been implemented in SynCrossPlatformREST.

I have an application problem freeze when read a Blob (Picture). That is not responding as it should.

This implementation TServiceCustomAnswer help.

I even looked in the other Units, to see would realize myself implement it. But still do not have the knowledge to do so.

Thank U.

#7 Re: mORMot Framework » My Mobile Project. Doubts. » 2015-01-23 12:09:12

Hello ab.

From what I'm noticing the cache on the client side in crossplatform units has not yet been implemented.

#8 Re: mORMot Framework » My Mobile Project. Doubts. » 2015-01-20 19:55:33

Always look the documentation. Some things crossplatform it seems they are not updated. But I know perfectly how hard it is to keep it updated.

Therefore, I have used a lot of the examples.

The issue of Cache had thought on the client side. Not the server.

I'll test your suggestions here. And since the results.

Many Thanks.

#9 Re: mORMot Framework » My Mobile Project. Doubts. » 2015-01-19 17:11:34

Did some testing, as recommended by you. I did not find significant differences with or without Indy Indyno Win32 and iOS.

Added 100 records with photos (images) for testing. And apparently, the biggest change is in relation the the device and Internet connection (WiFi or 3G). In my case I tested with iPhone 4 iOS version 7.1.2.

Based on this, I am more convinced that records images I read block 30. Use TThread to give a better experience for the user, ie shows the Items TListView, and then displays the images. Thus avoiding that impression that the application crashed.

Questions because I sought and found. To crossplatform (iOS and Android), in CreateAndFillPrepare function: - How to specify an order (Order By Clause)? - How could read blocks of 30 records. For example, in SQL can use rows 60 to 90?

Apparently you are using cache on the client side with SQLite3. This cache works for functions too?

Thank U

#10 Re: mORMot Framework » My Mobile Project. Doubts. » 2015-01-16 15:30:09

For reasons of simplicity in testing, I'm using only crossplatform Units mORMot. And that the same code works on Win32, Android and iOS. And of course, as you published, uses Indy in this case the client.

I have also got to think about the question of Indy be one of the causes.

And if it works fast on windows with VCL will not solve my problem, because I need to Mobile.

The example 21 uses TThread to performance tests. But think of how this would not work on Android and iOS.

#11 mORMot Framework » My Mobile Project. Doubts. » 2015-01-16 13:25:16

Replies: 11

I will try to be as brief and concise as possible in this post.

Project Characteristics:
- Server: Windows Server 2012 64-bit on Amazon. Future think of migrating to Linux when mORMot is stable in this system Operacioal;
- Database: PostgreSQL 64-bit;
- Customer Mobile: mORMot Restfull with Indy. For Android and iOS. This is my biggest challenge. The performance;
- Windows Client: Only for Administration, so I'm not too concerned about performance.
- Summary Objective: There will be two types of users. Uusário seller, in this case it may have N Shops and registered their products with PHOTOS. User Buyer, which will search the app to find a product. The application should display the list of products found with the images. And if the user selects a product, should show the other photos of the product and its characteristics. That is, each product may have N PHOTOS. Also, will talk option (chat) between sellers and customers.

- Parents Brazil. 3G Internet superlenta.
- Here in Brazil there is a big difference between Download and Uploud. That is, when committing (recording) data is about 70% slower.
- I'm with 80% of this application developed for the beta.
- Initially had used DataSnap + + FireDAC Restfull that comes with Delphi. This was done because until then the client version of mORMot for Mobile was not ready. Amazingly, so it was not possible to send a photo. But now with mORMot works great.
- Let's assume that within 2 years old, have 10,000 users. Being 1,000 vendors and 9,000 buyers. And that each seller has 2 stores. And each Lodge 50 products. And each product 4 photos (JPEG images).
- For photos'm reducing the image size to 160 x 160 pixels. And JPEG format.

- If I'm doing something wrong or tm a better way, please, can speak.
- What settings should I use in mORMot server for better performance?
- Checking other similar applications, I noticed that are very fast. In fact I was impressed. I believe they are using TThread at all. Perhaps the first to raise the list of IDs, then other TThread for each ID. And then other TThread for photos of each ID. This would be the way to a good experience for the user?
- My idea would be to store photos of different sizes. Thus could select the picture size based on internet speed and size of the device screen. This would give a better experience for the user. But still can not create a function to send / receive photos (images) using TSQLRawBlob and make the necessary conversions on the server.

I miss one such example. Who worked with images for Mobile. If you can solve some points of performance, I think of and make a post here. I think that would help.

Sorry for the great post.

#13 mORMot Framework » Violated access in Win64 Server accessing PostgreSQL with XE7 » 2015-01-15 11:27:02

Replies: 2

Updated the mORMot yesterday (14/01/2015) night and my server no longer works for Win64. And for Win32 runs smoothly.

I went back to the previous version of the previous mORMot and worked fine for Win32 and Win64.

Had some change for Win64?

Environment tested:
- Windows 7 and Windows Server 2012 both 64-bit;
- Delphi XE7
- In Windows7 PostgreSQL for Win32. With sqlite3.dll.
- In Windows Server 2012 for PostgreSQL Win64. With sqlite3-64.dll.

The access is accused violated the stretch down the Unit SynSQLite3.pas

function TSQLDataBase.DBOpen: integer;
    result := sqlite3.open_v2(pointer(utf8),fDB,fOpenV2Flags,nil) else
    result := sqlite3.open(pointer(utf8),fDB);

In the passage above is the violated access. Recalling that for Win32 works. And the earlier version of mORMot I have works for Win32 and Win64.

That is the problem that the current version of Git asap Win64.

I hope I was clear.

#14 Re: mORMot Framework » Possible Problem in function CreateAndFillPrepare Unit SynPlatformREST » 2014-12-30 18:11:06

Resolved. Thank.

But maybe you should change your code so others do not go through the same problem.

#15 Re: mORMot Framework » Possible Problem in function CreateAndFillPrepare Unit SynPlatformREST » 2014-12-30 17:42:49

Sorry, did not explain why my amendment.

Using SynCrossPlatformREST if I call the declaration:
SQL_Loja_Cadastro := TSQL_Loja_Cadastro.CreateAndFillPrepare(gServidores.ServidorBancoDados, 'ID, Nome_Fantasia, RAZAO_SOCIAL, CPF_CNPJ', 'id_usuario_proprietario = ' + IntToStr(ID_Usuario), []);

Should generate a select so the server

But this taking only the first field, select the result is wrong. Like This:

I hope it was clear now.

#16 mORMot Framework » Possible Problem in function CreateAndFillPrepare Unit SynPlatformREST » 2014-12-30 16:45:33

Replies: 5

For this function to work with a Field List, had to make the following change below:


function TSQLModelInfo.SQLSelect(const FieldNames: string): string;
  result := 'select '+FieldBitsToFieldNames(FieldNamesToFieldBits(
     FieldNames,false))+' from '+Name;


function TSQLModelInfo.SQLSelect(const FieldNames: string): string;
  if ((FieldNames = '') or (FieldNames = '*')) then
    result := 'select '+FieldBitsToFieldNames(FieldNamesToFieldBits(
      FieldNames,false))+' from '+Name
    result := 'select '+FieldNames+' from '+Name;

You may have a more elegant way to solve this.

#17 Re: mORMot Framework » XE4 and FireMonkey » 2014-07-21 01:20:29

I need a practical example of a Client for FireMonkey (iOS and Android).

I think many are perhaps awaiting Exmplo 30. If someone could, could post it for us.

Thank you.

#18 Re: mORMot Framework » XE4 and FireMonkey » 2014-06-20 20:42:09


You made this statement anteriorly.

"See this great article from the blog of Andy: http://andy.jgknet.de/blog/2013/10/the- and-strings ... /"

Someone tested it, and there was a Client works for iOS and Android?

If succeeded, please tell what version of Delphi.

#19 Re: mORMot Framework » Refresh the TSQLTableToGrid not updated External BD » 2014-06-04 10:40:05

I think I could not explain.

     GridPerson: TDrawGrid;     
     Grid: TSQLTableToGrid;

    Grid: = TSQLTableToGrid.Create (GridPerson, Person.FillTable, BaseDados);

BaseDados.Add (Person, true)
- Using SQLite3 is the acts GridPerson
- And using PostgreSQL or Firebird (Bd via external FireDAC) do not reflect changes in GridPessoas.

Am I doing anything?
Will have to call
     Person: = TSQLPerson.CreateAndFillPrepare (BaseDados, 'id> 0');
Refresh before?

thank you

#20 mORMot Framework » Refresh the TSQLTableToGrid not updated External BD » 2014-06-03 11:27:49

Replies: 3

Making testing programs, I noticed that the TSQLTableToGrid.Refresh procedure updates only using SQLite3. With External BD does not work. I did tests with PostgreSQL and Firebird.

Am I mistaken in which case I have to call refresh before algomo as CreateAndFillPrepare?

That would be the best way?

#21 mORMot Framework » OFF- TOPC - Sustainable Design » 2014-05-27 11:55:22

Replies: 1

I  do not intend to change the way work anyone. And if someone harmed by my words , I'm sorry . It was an accident .

What will I put here , maybe many already know. For the project to continue to improve and increasingly , all people must earn at work. Many here know / met wonderful projects that died because at the time had this vision sustainable

Another important aspect , which can go unnoticed is the fact that many companies do not feel secure in using software from a company that does not have or do not see this side . These companies simply can not count on support in speed than accuracy . Since it is a totally free service . Therefore , many companies prefer to pay and have the assurance of a stand, you see having to wait for a longer and free solution .

In my country ( Brazil ) there is a collection of components for Delphi called ACBr ( http://www.projetoacbr.com.br/forum/ ) . Initially it was totally free. But it was growing both the number of components , as the number of users and how the importance of the components in the middle of the Delphi community

Because of this , it was created a paid support . Just to correct the shortcomings mentioned above. I confess I have not paid for support, because he had no need yet. I've done some donations . And the project continued free as always was and will continue.

Well this was just an observation. Perhaps the designs Arnaud already have something or are thinking about it .

PS . Again , sorry for bad english . This was translated automatically by Google .

#22 Re: mORMot Framework » Migration of Customer mORMot for FireMonkey (iOS and Android) » 2014-05-27 11:20:38


Great news. I believe very Delphi users and developers are waiting this solution. Mainly Article published Roberto Schneiders also Brazilian.

I'll be watching the forum and the links you posted.

If you allow me, I will create a topic off with a suggestion.

Good job.

#23 mORMot Framework » Migration of Customer mORMot for FireMonkey (iOS and Android) » 2014-05-26 20:09:09

Replies: 3


Use the SynPDF at a certain time. Simply spectacular.

I am seriously considering using mORMot in Windows Server Client'll need for mobile platforms (iOS and Android).

In your blog you have a topic that you said you were porting mORMot Client to run in FireMonkey.

I also know that you have a script and it is not always possible to follow this script to the letter and meet all requests.

But if possible I would like to know how this this Migration. It was taken. Not found a demo. If this underway, I wonder when it will be available.

PS. Sorry, my english sucks. This was translated in Google.

Thank you.

Board footer

Powered by FluxBB