-
Content Count
103 -
Joined
-
Last visited
Posts posted by Juan C.Cilleruelo
-
-
Don't work on my own libraries and Code! Of course!
-
Seems it's doing something, but finally it doesn't do anything!
-
Delphi 10.4.2 Right Click over a word -> Find Declaration, Not working.
Does anyone note this problem? Or is it only my problem?
Never works. I've tried with existing files in the uses clause, with units in the path and more.
The only occasion in that works is when the Declaration is in the same file. -
8 minutes ago, Alexander Elagin said:UniDAC has a nice feature called Unified SQL (https://www.devart.com/unidac/docs/unisql.htm) which can be used to automatically preprocess SQL statements based on macros and conditionals. Maybe this can help you.
Thank you to inform me!
-
12 hours ago, Attila Kovacs said:Which ones?
Maybe the Preprocessing of SQL Statements.
But I have not still installed Devart. Maybe Devart has something similar or better.By another hand, this is quite simple of solve, loading the query text from the code every time.
I use it to do queries that depend on the dialect.
-
Change from FireDAC to another set of components like Devart is not going to be a problem in my case.
My software follows a strict MVC architecture. All the Models are independent of the rest for the application and in fact, there are tested as a separate unity. I have a project of Unit-Tests that test separately all the models without link any Controller.
Only some functionalities of FireDAC I'm going to miss, but I'm sure that in a new set of components I'm going to find new functionalities too, that is going to make more special the experience.
The problem, in my case, is the frustration of making plans and see how Embarcadero doesn't take you into account.
To see that Embarcadero trace his own plans without the worry about the plans of his customers.
What's Next? Eliminate Professional version, perhaps?
They coming bad times to all of us. Times in which the price can be a very, very, very important thing in all the ambits.
In these new times, decisions based exclusively on money are going to be frequent.
- 1
- 1
-
13 hours ago, Daniel said:Well ... FireDAC will no longer be a separate product - but it is still under active development and will stay as part of the Enterprise (and above) editions of Delphi.
FireDAC "A D D - O N " is discontinued.
- 1
-
17 minutes ago, Markus Kinzler said:AnyDAC (the predecessor of FireDAC) was a split off from CoreLabs (now DevArt) database components.
I'm seeing Devart and seems to be a good option. But I can't understand his price policy.
They only publicly a price. But I can't see the subscription price of the next years. It's this price every year?
-
These days I've received the offer to renovate Delphi Professional Subscription, but this time don't come with the FireDAC Add-On, like past years.
Asked my local reseller in Spain about this, he said to me that FireDAC Add On is discontinued.
Does anyone know anything about this?
Local reseller tells me about migration to Enterprise version, but there is not a special offer to upgrade from Professional version. He tells me that I need to buy a new subscription license, and I think this is very, very expensive, taking into account the type of product that I'm developing and selling.
I think that Embarcadero is eliminating lower versions of his licences, converting Delphi into a luxury tool for development.
This is not in concordance with the quality of his last versions. I'm currently using 10.3 Update 2, after tried to install, with a great effort of time and resources the 10.4.
Version 10.4 was significant, for me. The worst experience in years with Embarcadero. Nothing is working, but when at last I got an installation running (Patchs and Update 2) I notice that Mobile functionalities are not installed.
I've informed Embarcadero of this problem and he said to me that there is a problem with my license and that they are studying how to resolve it.
Because of this, I continued developing with the 10.3 version.
If Embarcadero is going to be as expensive per licence, I think this is the moment of study the possibility of migrating to another environment.
Evolution is a need, but not at any cost!
- 1
-
11 hours ago, dummzeuch said:The exit doesn't make sense, but it is quite possible that it is left from a previous version of the code that didn't re-raise the exception.
(Or it's just from somebody who didn't understand the way exceptions work.)
All the code is from somebody who didn't understand, absolutely, the way exceptions work.
This structure is not a punctual case in the code I'm revisiting, is a constant. Is on all the methods. I think that this type of wrong conception code is more than 30% of the whole code.
It's because I commented it like 'paranoid code'.
-
Maybe, catch the exception with the intention of re-raise the same one, is useful for someone, but... the "Exit;" instruction too?
-
If anyone has not noticed, the previous structure is, in code, equivalent to:
WriteLicenseData;
- 1
-
try WriteLicenseData; except on exception do begin raise; Exit; end; end;
- 1
- 1
-
6 minutes ago, Lars Fosdal said:@Juan C.Cilleruelo - Do you invoke a new instance of OpenSCAD for each image? If you do, can't you execute it from a thread that waits for it to complete and return?
This was my first option, effectively, but, how to do this in Mac OS X?
-
Just now, Zacherl said:Should work 👍 Was just about to recommend adding an additional timeout to the code, but you already did with your error counter 🙂
Each error waits one second. I think is absurd repeat without allow the other process finish.
- 1
-
3 hours ago, Zacherl said:Just trying to open the file is already the correct solution IMHO. You should catch the exception and retry until it works.
This is my current code. I think now is working well.
Any idea!
Thanks to all.
...... CountErrors := 0; while not (TFile.Exists(PNG_FileName) or (CountErrors > 5)) do begin Inc(CountErrors); Sleep(1000); end; Sleep(1000); CountErrors := 0; SuccessLoad := False; while (not SuccessLoad) or (CountErrors > 10) do begin try BlobField.LoadFromFile(PNG_FileName); SuccessLoad := True; except on EFOpenError do begin SuccessLoad := False; Inc(CountErrors); Sleep(1000); end; end; end; .....
- 1
-
The external program is OpenSCAD. I can't control how it works.
The generated file exists during all the process. I can't control this.
-
My application generates a data file with instructions to generate a graphic file and after call an external program that processes this information and generates the graphic file.
Next, my program, that is waiting until the graphic file exists, takes this graphic file and incorporates it to his database.
The problem is the the time that the external application take to processing the data file. This time can be very large. An sometimes, my program traying to get the resulting file meanwhile the external program is processing it. This becomes in an OS exception.
Can I ask to the OS, if the file I want to take is been still processing by another application?
The program is cross platform, because of this I can't call the external application waiting to his finallization. And of course, if the solution is for crossplatform, more better.
Thank in advance.
-
16 hours ago, Dany Marmur said:I must say, at the beginning (20, 25 years ago) I fretted a lot about this. Then I had the pressure to driver so I ditched BCD. It has happened that a client became frustrated because a huge list had one unit of currency wrong. But seriously if you are for two extra precision, problem well be rare.
I know, this is a non-orthodix sentiment, but IMHO fretting about this is "premature optimization". Of course it's business treated, if you are into measurements, take care. If it's about money, do not fret.
HtH,
/d
In this case, if for measurements but is the same type of data I use for all economic values.
I read an EU document in which he explains how to treat with decimal values in operations with Euro.
It's easy: You always should take three decimals for all operations and finally show a "round half up" function to two decimals when you show or print the results.
I can't remember where is this document, but if you need it you can search on the web.
reference for "Round Half Up": https://en.wikipedia.org/wiki/Rounding#Types_of_rounding
-
16 hours ago, Fritzew said:If you are using TBCDField you can simply use Currency, because these Fieldtype is designed to work with currency as the internal DataType.
Look in the Source from Data.DB.......Thank you all! Working again!
The final solution was finally, use Currency. I can take this TFields AsCurrency and this works well.
The problem comes from a modify in all the program.
I had all the measures for the furniture in millimetres. This is a good thing for woodworking, but I have now a new customer that need my program for modelling complex things for 3D printing and he needs until hundredths of millimetres (two decimals).
Solved.
- 1
-
Read the thread, please! Your response is not related to the theme! It's only the first thing you found in a google search.
What kind of help is this?
What solves?
-
Attila: This is not the problem. The database is well defined. Read the previous entries, please.
-
I understand that if instead use MyField.AsBCD, I use MyField.AsCurrency, I don't loss precision, because is his internal representation.
Do you think?
I'm going to do some proves.
-
Where is this info?:
TBCDField converts the data from a BCD value to a currency value when it fetches the data from the database table,
and converts it from a currency value to a binary-coded decimal value when it posts the data.
Delphi 10.4.2 Right Click over a word -> Find Declaration, Not working.
in Delphi IDE and APIs
Posted
Always work. I only changed to version 10.4.2. No other change.
Embarcadero doesn't need your excuses! He has his own ones!