Virgo
-
Content Count
86 -
Joined
-
Last visited
Posts posted by Virgo
-
-
10 hours ago, obmsch said:- To install the Microsoft ACE OLEDB Provider 32-bit on a machine running Office 64-bit: AccessDatabaseEngine.exe /passive
I need to remember this.
We ever needed to only read from excel and whole sheet at the time. So we created extra 64 bit executable, that communicates with main executable via named pipe and reads sheet to json and sends it back. Where it is loaded to in-memory dataset. It is used as a fallback, when just reading table with ADO fails with 'Provider cannot be found' error. And when that also fails, then and error is shown.
-
10 minutes ago, Dalija Prasnikar said:This code is not 100% correct, though. If constructor fails, Free will be called on an uninitialized reference. In order for it to work properly, IdHTTP should be initialized to nil before calling constructor.
No.... If constructor fails, then Free is never called.... Create is not inside try except block...
- 1
-
Just now, limelect said:Thank but that is not MY QUESTION
Then what is the question?
In your original sample neither version leaks memory, because except block eats exception and free is called anyway.
if you put exit somewhere before IdHTTP.Free, then both versions initially leak memory, but in .Create(Form1) version it will be finally freed, when form is freed. But it is still type of memory leak, because every time code is executed it creates new object, but it is only freed, when form is freed. So memory usage will continue go up on every execution of GetUpDate until Form1 is freed.
-
51 minutes ago, limelect said:@haentschman I thought that too but i double checked
It does free http at list on the single step
Did you actually test with identical except block? Because without try finally IdHTTP is not freed, if function is exited before free line. That is why using try finally is strongly recommended.
-
3 hours ago, Angus Robertson said:If by SFTP you mean secure FTP rather than Simple FTP (a UDP protocol), ICS has a sample OverbyteIcsSslMultiFtpServ.dpr which is really designed to be a Windows service application. It supports multiple SSL hosts
sftp means usually ssh builtin file transsefer server. Ftp over TLS/SSL is ftps. I actually had not heard about simple ftp.
- 1
-
5 hours ago, Anders Melander said:How can you tell? I'm impressed if you managed to make any sense of it 🙂
It's not, that I made sense of it... I just did not notice any other strings mentioning progress... Although I missed that Form7 part....
-
There does not appear to be anything about progressbar in all this code... Unless ProgressRunning and StopProgress variables have something to do with it.
-
What version of Windows? Windows 10 OpenSSH server has sftp server.
-
On 1/10/2022 at 7:04 PM, Serge_G said:I don't agree you can use ADO driver, even if I agree with your second remark
Expect.... That requires BDE for some Paradox features anyway. From what I recall Paradox version 7 tables were one of those things.
-
7 minutes ago, Serge_G said:You spoke about Database Desktop not Delphi 7, I am confused 😲
D7 works on Windows 10, I install/uninstall it about once a month
This is the message Windows 10 shows, when launching dbd32.exe of Database Desktop. Even for Delphi 5 version of Database Desktop. I have no idea, why it is about Delphi 7. But in the end Database Desktop will close without showing main window.
-
No, I meant:
When clicking "Run the program..." nothing happens. Those directory messages are nothing Windows 10 specific and those where set long time ago, when it still Worked on Windows 10.
Just for testing I removed that configuration from registry. Then it shows the splash, shows those messages about using temporary directory and then closes.
-
9 hours ago, audi30tdi said:But have a one last question, I hope, is it possible to get the Database Desktop to work on win10 also?? I can't get it to start.............
Not that I know of. It was one of big updates, that broke it. For our internal use we made our own replacement with functionality, that we required...
-
49 minutes ago, Lars Fosdal said:Just my two cents:
The migration to FireDAC is very much worth it, just to avoid all the BDE pitfalls.
Absolutely. What I meant was, that BDE version should be able to work while FireDAC version is written.
We have not even set configuration file location to user writable location, because all required changes to BDE configuration is done via elevated BDE configuration utility.
-
Since that rewriting is going to take some time, what are actual issues? What does having trouble mean?
BDE using program written in Delphi 5 works on Windows 10 and Windows 11. Only actual issue is, that sometimes SHAREDMEMLOCATION needs to be changed in BDE configuration after computer restart. Otherwise it works sames as Windows 7.
-
Particular hash is bcrypt.
https://github.com/JackTrapper/bcrypt-for-delphi
supports it. But it is not universal, because it does not support other algorithms supported by password_hash.
-
You could also check server version on connect and execute
SET BIND OF TIMESTAMP WITH TIME ZONE TO LEGACY;
SET BIND OF TIME WITH TIME ZONE TO LEGACY;
SET BIND OF DECFLOAT TO LEGACY;
SET BIND OF NUMERIC(38) TO LEGACY;
That way program works with FirebirdSQL 4.0 without changing server config. Of cause you must not use new unsupported data types in that database. But that solves problems with automatic type conversions and use of new types in system tables.
- 2
-
3 hours ago, david_navigator said:If you mean the version numbers of libeay32.dll & ssleay32.dll, then they're 1.0.1.3 (1.0.1c) - dated 27/01/2014 !!!
That is really old version.
3 hours ago, david_navigator said:SSLOptions.Method := sslvTLSv1;
And that is old deprecated version of TLS. Anything before TLS 1.2 is deprecated.
- 1
-
Just now, Martin Sedgewick said:I have not heard of doing that. Why would you want to do that? Have you a specific reason?
FPC does things like that with include files, if different platforms have sufficiently different implementations.
-
3 minutes ago, Rollo62 said:Because as far as I understand TPM is a kind like a separate hardware 2FA for the PC, which is maybe good for the people who needs this level of safety (officials, companies, etc.).
Except in case of most newer PC's, that do not have separate TPM chip and instead implement TPM in firmware. And where firmware update may reset TPM.
-
What happens, when this Add is called with nil as CalcRes?Typically in C style API's function then assigns required string length without copying string. So that caller would know, how much memory to allocate.Never mind. I did not read correctly original code, this is already handled. But what are requirements on function result?
Also possible issues with ending #0 - is it required in CalcRes?
-
Also, I hope you do not have NULL values in DEBIT and CREDIT fields at CUSTMOVEMENTS table.
-
Try:
SELECT X.*, Case When CAST(X.BALANCE AS NUMERIC(15, 2) > 0 then 'Debit' else 'Credit' as STATE
FROM
(
SELECT C.CUSTNO, C.CUSTNAME, SUM (CM.DEBIT-CM.CREDIT)BALANCE
FROM CUSTMOVEMENTS CM /* it is a View */
LEFT JOIN CUSTOMER C ON CM.CUSTNO=C.CUSTNO
WHERE CM.TDATE <= '03/30/2021'
GROUP BY C.CUSTNO, C.CUSTNAME
HAVING SUM (CM.DEBIT-CM.CREDIT) <> 0) X
-
Warning: [ 41] Failed to resolve symbol to module: [0005:00000008] SysInit.TlsLast
But otherwise ok.
But Delphi 5 is weird and probably hopeless...
Start Length Name Class
0001:00000000 00002B14H .text CODE
0002:00000000 000000BCH .data DATA
0002:000000BC 000004D1H .bss BSS -
Now, that I'm checking: is 0 length .xdata ovelapping .tls?
Start Length Name Class
0001:00401000 00003B90H .text CODE
0002:00405000 00000100H .itext ICODE
0003:00406000 000007BCH .data DATA
0004:00407000 00002B74H .bss BSS
0005:00000000 00000008H .tls TLS
000A:00000000 00000000H .xdata PDATA
Detailed map of segments0001:00000000 000036F4 C=CODE S=.text G=(none) M=System ACBP=A9
0001:000036F4 00000110 C=CODE S=.text G=(none) M=SysInit ACBP=A9
0001:00003804 0000038C C=CODE S=.text G=(none) M=test ACBP=A9
0002:00000000 000000AC C=ICODE S=.itext G=(none) M=System ACBP=A9
0002:000000AC 00000054 C=ICODE S=.itext G=(none) M=test ACBP=A9
0003:00000000 00000794 C=DATA S=.data G=DGROUP M=System ACBP=A9
0003:00000794 00000024 C=DATA S=.data G=DGROUP M=SysInit ACBP=A9
0004:00000000 00002B68 C=BSS S=.bss G=DGROUP M=System ACBP=A9
0004:00002B68 0000000C C=BSS S=.bss G=DGROUP M=SysInit ACBP=A9
0005:00000000 00000008 C=TLS S=.tls G=(none) M=System ACBP=A9
C to Delphi pascal
in Network, Cloud and Web
Posted
You do not need event that. The code is completely obvious even without knowing curl. http request is sent with three additional headers set: accept, content-type and Authorization. And json is the request body. without seeing problem Delphi code, it is hard to know, what is done wrong in Delphi.