Roger Cigol

Current status: "Use "Quick Reply" in the forums: Your C++ code samples will then paste in correctly !" - 4 months ago
Member since: Thursday, 09 October 2014
Last login:
Profile viewed: 3,365 views

Your Rank: 32
Points: 85

Roger Cigol replied to the topic 'Web / Mobile Development' in the forum. 3 days ago

"EMB FMX is not quite there yet, beta is the best description i could give FMX on Android even on 10.2.3" might be said of XE7 but I think is a little negative for 10.2.3. And if you want to use the same codebase for both Android, Apple and Windows then FMX (firemonkey) is the way to go.
As for web server development, Embarcadero's purchase of Sencha is a sign that they are working on long term plans to integrate this area into their products. It's not there today, but sometimes you have to plan for tomorrow...
Regards, Roger

Read More...

Roger Cigol replied to the topic 'VCL: Sub-Class Unresolved Externals' in the forum. 4 days ago

that all looks ok. So there must be a more subtle reason why the linker can't find the function. How to track this down? You could try adding a global static variable outside of the class and confirm that you can find this (assign a value to it) in your other unit. Then move it into the class, etc. Linker errors can be a bit more fiddly to track it down.
Difficult to help more....
Regards, Roger

Read More...

Roger Cigol replied to the topic 'VCL: Sub-Class Unresolved Externals' in the forum. 4 days ago

Hi Hans,
A linker error means that the linker can't find the object, in your case the function TStringList* __fastcall GetTo().
So first thing to check is have you actually got a function in our code:

TStringList* __fastcall TbhsRecipients::GetTo()
{
// ... body of your function here
};

It's very easy to forget the TbhsRecipients:: bit or the __fastcall bit, etc such that the compiler thinks this is a different function

Always check the obvious stuff first .....

Regards, Roger.

Read More...

Roger Cigol replied to the topic 'Forums unusable' in the forum. 4 days ago

I agree with you Mark, and add that the topic icon is already meaningless since there is no guidance on what any of the symbols mean.
We all wait for a new forum together.....
Regards, Roger

Read More...

Roger Cigol replied to the topic 'FMX vs VCL On Mutiple Platforms' in the forum. 4 days ago

VCL is for Windows (32 or 64 bit) only.
For multi-device you must use FireMonkey
Regards, Roger

Read More...

Roger Cigol replied to the topic 'Serial communication component files missing' in the forum. 4 days ago

I think TMS Asynch is not supplied as part of Community Edition. You need to purchase this from TMS software. I can't see any reason why the purchased product shouldn't run with community edition but best to check this with TMS.

Regards, Roger

Read More...

Roger Cigol replied to the topic 'FireDAC purchase' in the forum. 4 days ago

How I understand it:

You do get FireDAC with Professional - but only for use with local databases (ie those resident on the same machine as the application exe). The client /server approach requires that you purchase "enterprise" version. Of course this is a marketing decision. It's a dog eat dog world out there and Embarcadero have to pitch the price of their products such that they remain competitive. At any level there is always going to be a group of people who can't quite afford it. We all have to trust that Embarcadero marketing dept. judge it correctly such that they can continue to improve/develop the product(s) and survive.

Regards Roger.

Read More...

Roger Cigol replied to the topic '32 bit Delphi Apps flicker on Win 10 64 bit' in the forum. 5 days ago

Assuming it is VCL application GUI (you don't actually say) appearance is often improved if you set the "double buffered" property of key visual components (or indeed the overall form) to "true"

Regards Roger

Read More...

Roger Cigol replied to the topic 'Canvas FillText Android' in the forum. 7 days ago

Hi Alex,
It may be that the default behaviour is different in Windows to Android for certain things. The Embarcadero aim is to make the same code work for all, so it's wise to not rely on default behaviour unless you want your system to default to different behaviour on different platforms. In general the "platform independance" works well.

What's your issue with TLabel? Post it as a separate posting.....

Regards, Roger

Read More...

Roger Cigol replied to the topic 'Canvas FillText Android' in the forum. 1 week ago

Hi Alex,
Remy's hint is 100% sound (as usual)
In the docwiki link you posted in your last post function TForm1::TextButtonClick() has the correct way to set up a set of flags. Try using this method.
Regards, Roger

Read More...

Roger Cigol replied to the topic 'Install to a different Drive' in the forum. 2 weeks ago

Hi Dioich,

I run RAD Studio enterprise on D: drive under windows 10. No sign of any problems. I did manually create a D:\Program Files (x86) directory before starting the installation. I do this for exactly the same reasons that you describe (small SSD C: drive).

Regards, Roger

Read More...

Roger Cigol replied to the topic 'Firedac, Filters and CachedUpdates' in the forum. 2 weeks ago

Hi Connie,

I think the FDTable is best suited when you do want to work with the whole table. I agree that this is rare for tables containing large numbers of records. But Andy's suggestion is the solution here. Rather than use FDTable use FDQuery to select the records you do need to work with. Once you have executed the query the result behaves like an FDTable but it only contains your limited number of records.

Regards, Roger

Read More...

Roger Cigol replied to the topic 'Forums unusable' in the forum. 2 weeks ago

Whilst we wait for the Forum to be replaced, could it be possible to do a quick fix:

a) get rid of the paging of the discussion replies - it seems an arbitrary length and it is not always easy to tell if you are at the most recent posting......

and

b) change the order so that the most recent posting is at the top?

Regards, Roger

Read More...

Roger Cigol replied to the topic 'Firedac, Filters and CachedUpdates' in the forum. 2 weeks ago

Hi Connie,

I've been thinking about this over a coffee, including re-reading Andy's comments above.

If you set Filtered = TRUE without cached updates then FirdDAC knows that it only needs to return the records that meet the filter (in your case just one record).

But if you have Cached Updates set to TRUE then open the Table (not a query) then maybe FireDAC needs to track ALL the records in it's cache because it has no idea which record(s) you might update before you do a posting. It cannot assume that the Fitler property is going to remain unchanged before the next posting.

So it's apparently strange behaviour does actually make sense.

So to does EmailX45 recommendation to use an FDQuery with the SQL statement including a WHERE clause to build up your table (the table in this case being the result of the FDQuery). This is different to opening the whole table. In effect you are telling FireDAC that the Filtered property is not going to change before the next posting (because the filter is "fixed" as part of the original query.

Of course if your application / design reqiurement is such that you do need to change the filter between updates then you will have to stick with your original approach and lose the time it takes
to load all those millions of records. Or perhaps re-think your approach and use several FDQuerys or a single FDQuery with a broader filter.

Regards, Roger.

Read More...

Roger Cigol replied to the topic 'Firedac, Filters and CachedUpdates' in the forum. 2 weeks ago

Hi Connie,

Emailx45 is suggesting a work around. This may be useful.

But your point is much more significant. Why are you seeing what you are seeing? The Filter=True should still work with cached updates. Or at least I can't see a reason why it should not.

Can any FireDAC expert out there help here?

Regards, Roger

Read More...

Roger Cigol replied to the topic 'Old Source Code/dfm files' in the forum. 2 weeks ago

Hi Debbie,

For legacy projects targeting windows I always set "Project | Options | Application options parameter "Manifest File" to "None". This may be the cause of your problem.

Regards, Roger

Read More...

Roger Cigol replied to the topic 'Buying Delphi when owning C++ Builder...' in the forum. 3 weeks ago

I think Embarcadero offer an upgrade scheme such that you change to a RAD studio subscription but only pay for the Delphi part (ie the bit you don't have). Regards Roger

Read More...

Roger Cigol replied to the topic 'Sender and Forms' in the forum. 3 weeks ago

Hi Barry,

Yes, it's always good to specify what you are working with when posting on-line !

Well I'm not so hot in Delphi. But the same principle applies. You need to tell FormC which form is about to open it, before it actually is opened. So in FormC create a public procedure, which you might call "SetCallingForm()" and call this from FormB passing a parameter set to one value to indicate FormB and also call this from FormC passing a different parameter value to indicate FormC.

Then in FormC activate event (Aside: are you sure you want your test in OnActivate() rather than OnShow() ?) you test the value of a variable that has been set by the last call to SetCallingForm() function.

I've done my best to describe the principle of operation (and maybe not done very well). If you can't work it out I maybe need to sit down and translate the C++ code into Delphi and test it before posting. Or maybe some Delphi/C++ expert can do this for both of us?

Regards Roger

Read More...