Roar G1760

Current status: "At last!!! Appmethod free for C++, good for us who want to develop as amateurs, using the best developing suite ever (Embarcadero IDE)." - 3 years ago
Member since: Sunday, 14 September 2014
Last login: 5 months ago
Profile viewed: 764 views

Your Rank: 36
Points: 77

Roar G1760 posted a comment on UI Changes in the IDE's View menu 5 months ago

And last time I mentioned this, maybe you remember https://plus.google.com/115781991851837617898/posts/ZVBQnJG3Zdf

Roar G1760 posted a comment on UI Changes in the IDE's View menu 5 months ago

The example which Palle refered to solves the function I want for "split editor".In C++ it is very convenient to have a way to view the corresponding headderfiles (.h/.hpp) to your .cpp/.c file. This can be done in multiple ways. One solution is of c

Roar G1760 posted a comment on UI Changes in the IDE's the View menu 5 months ago

I like this!!! Consider also functions like 'split editor' like the early versions of Borland editors, 'duplicate editor' like Android Developer style, and C++ specific like 'header file extend...' I think I have mentioned it before...Anyhow, some ti

Roar G1760 created a new topic ' What happened to html5 builder ?' in the forum. 2 years ago

Can anyone at Embarcadero (David I, Sarina D or someone) tell us what happened to html5 builder ?

Is it left to die ? (haven't seen any news since late 2012) (It is still promoted aside XE8 though...)

Can we hope for a 'bird phoenix' and see it seemlessly incorporated into XE10 (or even XE9 !) ?

Or do you have som good replacement products from thirdparties ?

A roadmap maybe ? or has the road just ended...

RG
Read More...

Roar G1760 replied to the topic 'Execute vs ExecuteAsync in TRESTRequest' in the forum. 2 years ago

Anyhow, I tried to make a demo app which just do GET requests in different ways using the TRESTRequest class. The demo is quite simple, it has all the TREST* classes, a TFDMemTable, a TStringGrid, 4 TButton components, and a TScrollBar which indicates a running function.

It is setup as any other RESTful app, in my example i used the API from 'www.tileblock.com/scoreboard/list_users.php' which do not require any crededentials or arguments. It dumps a JSON like this:

{"tileblockusers":[{"uid":"1","username":"Roar","country":"Norway"},{"uid":"2","username":"Plg","country":"Norway"},{"uid":"3","username":"Petrn","country":"Norway "},{"uid":"4","username":"Llina","country":"Norway"},{"uid":"5","username":"Aalm","country":"Norway "},{"uid":"6","username":"Larsel","country":"Norway"},{"uid":"7","username":"Sigridlg","country":"Norway"},{"uid":"8","username":"genius","country":"Norway"},{"uid":"11","username":"genius2","country":"Norway"},{"uid":"12","username":"Mmann","country":"Deutschland"},{"uid":"14","username":"Mmann1","country":"Sweden"},{"uid":"15","username":"Norlin","country":"Norway "},{"uid":"16","username":"","country":""},{"uid":"17","username":"Roar2","country":"Norway "},{"uid":"18","username":"Roar3","country":"Norway"},{"uid":"20","username":"Roar4","country":"Norway"},{"uid":"22","username":"0","country":"Norway"},{"uid":"23","username":"4","country":"Norway"},{"uid":"25","username":"1","country":"Norway"},{"uid":"26","username":"Roar41","country":"Norway"},{"uid":"27","username":"Roar42","country":"Norway"},{"uid":"28","username":"Roar43","country":"Norway"},{"uid":"29","username":"Roar7","country":"Norway"},{"uid":"30","username":"Roar8","country":"Norway"},{"uid":"31","username":"Roar9","country":"Norway"},{"uid":"32","username":"Roar10","country":"Norway"},{"uid":"33","username":"Roar11","country":"Norway"},{"uid":"34","username":"Roar12","country":"Norway"},{"uid":"35","username":"Roar13","country":"Norway"},{"uid":"36","username":"Roar14","country":"Norway"},{"uid":"37","username":"Liv","country":"Norway"},{"uid":"38","username":"Liv1","country":"Norway"},{"uid":"39","username":"Liv2","country":"Norway"},{"uid":"40","username":"Roar15","country":"Norway"},{"uid":"41","username":"Liv3","country":"Norway"},{"uid":"42","username":"Roar16","country":"Norway"},{"uid":"43","username":"Roar17","country":"Norway"},{"uid":"44","username":"Roar18","country":"Norway"},{"uid":"45","username":"Roar19","country":"Norway"},{"uid":"46","username":"Peter","country":"Norway"},{"uid":"47","username":"Roar20","country":"Norway"},{"uid":"48","username":"Roar21","country":"Norway"},{"uid":"49","username":"Roar22","country":"Norway"},{"uid":"50","username":"Roar23","country":"Norway"},{"uid":"51","username":"44","country":""},{"uid":"52","username":"45","country":""},{"uid":"53","username":"Roar24","country":"Norway"},{"uid":"54","username":"Nimbus","country":"Namibia"},{"uid":"55","username":"Winnie","country":"USA"},{"uid":"56","username":"David","country":"Denmark"},{"uid":"57","username":"Frank","country":"Netherlands"},{"uid":"58","username":"David1","country":"Norway"},{"uid":"59","username":"Guttorm","country":"Great Britain"},{"uid":"60","username":"Maggie","country":"Finland"},{"uid":"61","username":"Roar25","country":"Norway"},{"uid":"62","username":"Lister","country":"England"},{"uid":"63","username":"OLJAOS","country":"NORWAY"},{"uid":"64","username":"frakk","country":"Nicaragua"},{"uid":"65","username":"Typo","country":"Iceland"},{"uid":"66","username":"Drop","country":"Norway"},{"uid":"67","username":"Super","country":"Norway"},{"uid":"68","username":"Wheels","country":"USA"},{"uid":"69","username":"Darya soleh","country":"Brunei"},{"uid":"70","username":"Kalianna","country":"Australia"},{"uid":"71","username":"Punyan","country":"Australia"},{"uid":"72","username":"Chali","country":"U.S. "},{"uid":"73","username":"Vivo","country":"lebanon"},{"uid":"74","username":"Kiran","country":"India"},{"uid":"75","username":"Arp","country":"India"},{"uid":"76","username":"Norman","country":"Deutschland"},{"uid":"77","username":"Katie","country":"England "},{"uid":"78","username":"Katie1","country":"England "},{"uid":"79","username":"Rose","country":" England"},{"uid":"80","username":"Rose1","country":" England"},{"uid":"81","username":"Mary49","country":"uk"},{"uid":"82","username":"Debbi","country":"USA"},{"uid":"83","username":"Heather","country":"Portugal"},{"uid":"84","username":"PS","country":"Australia"},{"uid":"85","username":"Tori","country":"Australia"},{"uid":"86","username":"Starman","country":"Bklyn "},{"uid":"87","username":"Ruru","country":"South Africa"},{"uid":"88","username":"Ruru1","country":"Soweto"},{"uid":"89","username":"Friendly","country":"New Zealand"},{"uid":"90","username":"Joomla","country":"Norway"},{"uid":"91","username":"Bram","country":"England"},{"uid":"92","username":"Tootsi","country":"Australia"},{"uid":"93","username":"Joseph","country":"Israel"},{"uid":"94","username":"Joseph1","country":"Israel"},{"uid":"95","username":"Ned","country":"England"},{"uid":"96","username":"Tipper","country":"Norway"},{"uid":"97","username":"PeterLG","country":"Norway"}],"success":1}

Read More...

Roar G1760 created a new topic ' Test' in the forum. 2 years ago
Roar G1760 replied to the topic 'Execute vs ExecuteAsync in TRESTRequest' in the forum. 2 years ago

Hi again, thanx for the replies both of you!

Yes, I will try to use TThread or TTask, my intention was that in the beginning, but then I 'discovered' the ExecuteAsync() method when AM 1.16 was released (at least there was an explanation in the help pages here, instead of the frase 'Embarcadero Technologies does not currently have any additional information', which is for me very annoying... for the older versions of AM).

Do you know anyone else which have used ExecuteAsync() and can give us a good tutorial / best practice methods how to be sure we use the right precautions designing our applications using ExecuteAsync() ?

RG
Read More...

Seems that several of the links above are dead: 404...

Roar G1760 created a new topic ' Execute vs ExecuteAsync in TRESTRequest' in the forum. 2 years ago

Hi !

I am struggling with an issue where I am calling the RESTRequest1->ExecuteAsync() function.

The problem is, it crashes my application. If I call RESTRequest1->Execute() ut runs fine, but of course, my application lags.

Is there anything special I should be aware of using ExecuteAsync() than Execute() ?

---

Have tested it from AM 1.16 compilation for Android S4 Active w/Lillipop 5.0.1, also compiled for Windows 7 SP1. It crashes both on Android and Windows.

Will test it from AM 1.15 soon.

---
AM 1.16:
Further testing shows that it can go well through one time, but the second time ExecutAsync() is called it crashes.
Read More...

Roar G1760 created a new topic ' Execute vs ExecuteAsync in TRESTRequest' in the forum. 2 years ago

Hi !

I am struggling with an issue where I am calling the RESTRequest1->ExecuteAsync() function.

The problem is, it crashes my application. If I call RESTRequest1->Execute() ut runs fine, but of course, my application lags.

Is there anything special I should be aware of using ExecuteAsync() than Execute() ?
Read More...

Roar G1760 created a new topic ' Updating TMemo contents, calling slow functions' in the forum. 2 years ago

I have an TMemo in my form, which i need to update with some textlines, while calling different unpredictable and slow functions, which collects its information by REST based API's.

When clicking a button, an OnClick event fires, which shall run theese REST based APIs:

MemoResultServer is a TMemo.
...

void __fastcall TTileBlockForm::TestResultServerClick(TObject *Sender)
{
MemoResultServer->Lines->Append("Connecting... (please wait!)");

try{
RESTRequest1->Execute();
}
catch(...)
{
MemoResultServer->Lines->Append("An error occured during testing...");
return;
}

MemoResultServer->Lines->Append("Returned!");

MemoResultServer->Lines->Append("'Winner': "+FDMemTable1->FieldByName("username")->AsString);

}

...

The problem here is that nothing gets written to MemoResultServer Form, until the function is finished. This causes the user to wait not knowing that the RESTRequest->Execute() has started...

Have tried BeginUpate / EndUpdate ( calling EndUpdate in front of the RESTRequest->Execute() line.

MemoResultServer->Paint wont work either and Repaint is protected...

Any suggestions ?

Appmethod v1.15 with update 1.
Android Lollipop device (v5.0.1)
Read More...

Roar G1760 replied to the topic 'Access Violation in FireDAC Explorer' in the forum. 2 years ago

Used the AM 1.14 version... (xe6).
Read More...

Roar G1760 created a new topic ' Adapter does not have a Response component' in the forum. 2 years ago

Anyone seen that this error message does appear when using REST components on the "Header/Footer with Navigation" and "Tabbed with Navigation" application templates, but it will not appear when using REST components on simple application templates like "Blank" and "Header/Footer".

And what is causing this behavior?

Using Appmethod / C++.

Will commit further details later...
Read More...

Roar G1760 created a new topic ' AutoCreated FieldDefs in TFDMemTable - trouble?' in the forum. 2 years ago

In some projects I am working with, I am using the REST data methods and a TFDMemTable class, which sometimes behave in unpredictable ways.

Application 1:
First I create a Form and positions the RESTful components TRESTClient (RESTClient1), TRESTRequest(RESTRequest1), TRESTResponse (RESTResponse1) and TRESTResponeDataSetAdapter (TRESTResponseDataSetAdapter1). Additional I add the TFDMemTable (FDMemTable1) onto the Form. Also i add a StringGrid (StringGrid1) to the form.

I set theese members in designtime
RESTClient1->BaseURL = "http://192.168.x.x/android_connect " (this is an Apache webserver)
RESTRequest->Resource = "get_all_products.php"
RESTResponseDataSetAdapter1->ResponseJSON=RESTResponse1
RESTResponseDataSetAdapter1->RootElement="products" (which is the heading in the JSON)
RESTResponseDataSetAdapter1->DataSet = FDMemTable1

Thereafter I populate data in designtime by clicking "Execute..." text button in Object Inspectors for RestRequest1. I get a "200" message that everything is in order. I can now rightclick FDMemTable1 and select the "Field Editor...", no data is populated, there after right click and select the fields which I need to view in my form. I check FieldDefs in Structure view the fields I selected is visible there.

I use LiveBindingsDesigner to connect FDMemTable1 elements to the StringGrid1 elements (by '*')

After this i set RestResponseDataSetAdapter1->NestedElements to true, and data gets populated into the StringGrid, everything seems fine so far.


Application 2:
I do the excactly same thing here as in Application 1, but here the FieldDefs in TFDMemTable gets "prepopulated" before I can select the columntexts, causing in errors like "duplicate fields" when trying to select the field data.

I also get an error which says: "Adapter does not have a Response component", even if ResponseJSON component is populated with RESTResponse1. I have done excatly the same procedures in both applications.

When the FieldDefs is prepopulated like this, the contents of the ItemsEditor when rightclicking FDMemTable is empty (!).

This tells me there might be an uninitialized data member somewhere which triggers this "AutoCreate" behaviour in FieldDefs. I could try to set this member programmetically, but which data member is it which decides when the FieldDefs shall be (auto) populated in design time?



Uten navn.pngfielddef-missing-in-fdmemtable-fieldeditor.png
Read More...

Roar G1760 uploaded new file Uten navn.png in Forums 2 years ago
Roar G1760 created a new topic ' Unreliable "true" value in property "Visible"' in the forum. 2 years ago

Sometimes the Form property value "Visible" is not set to true, even if it is set to true in the IDE.

When toggling the Visible value (true or false) in the IDE, you can observe that if it is set to true in IDE, it will not always transfer as true when compiling the application.

My workaround is just setting the form Visible property to true either in FormCreate or the mainform constructor.

Have anyone else seen this ?

Using: AM 1.15 (21.0.17707.5020).
Read More...

Roar G1760 created a new topic ' Sending SMS from App' in the forum. 2 years ago

Hi !

Anyone who knows how to send a SMS message from within an Appmetod/C++ application.

Is there any major differences doing this from IOS/Android/Windws phones ?
Read More...