

Virgo
-
Content Count
110 -
Joined
-
Last visited
Posts posted by Virgo
-
-
Just now, MikeMon said:You don’t need to have any drivers to add the unit to the uses clause.
No, but adding unit into uses can make program try to load them. And I thought, that unhandled exception in dll possible reason for crash.
-
I thought, that IBX probably tries to load driver dll on unit initialization. And actually, with IBX driver file is probably gds32.dll. But if it is compiler dependent, then it is probably not dll compatibility thing. But I would still check initialization sections of IBX.
-
What is the version of fbclient.dll? Could it be, that it does not support Windows XP anymore?
-
3 minutes ago, FPiette said:Try using THandle data type for all handles.
Except Windows documentation defines this lpdwHandle as LPDWORD, So THandle would be wrong.
-
Using variant?
function myfunc(const pa_value:string): variant; begin if pa_value = whatever then result := -1 else result := null; end;
and then
parambyname('myparam').AsVariant := myfunc();
-
SFTP Support
in Indy
Since SFTP is something completely different of ftp, I would not expect TIdFTP to support it.
I have been using SshPascal wrapper around libssh2.dll
-
In the end it comes down to Delphi limitation, that duplicate fields are not allowed in variant types... Because logical translation with being at the end would be:
case Integer of 0: ( hIcon: THandle; hProcess: THandle;); 1: ( hMonitor: THandle; hProcess: THandle;); end;
But this duplicate hProcess is not allowed.
-
54 minutes ago, Cristian Peța said:This compiles
{$WRITEABLECONST ON} const foo: Integer = 10; begin foo := 20;
But at next invocation of such function foo is already 20. So typed const are like static variables in that sense.
Also, in past Delphi versions they were writable by default (Turbo Pascal compatibility).
-
36 minutes ago, Tommi Prami said:Is this limitation or bug in the Compiler, or feature I don't know about.
From documentation " Typed constants, unlike true constants, can hold values of array, record, procedural, and pointer types. Typed constants cannot occur in constant expressions. ".
Try
MULTIPLIER = NativeInt(1000);
-
It is really strange, that Delphi 7 book uses Database Desktop to manage Interbase database... Because DBExpress was introduced in Delphi 6 as a replacement for BDE . And even if you wanted to use BDE for Interbase, then even in Delphi 5 (I have no older versions to check, if they had also) there was Database Explorer, that was more useful with SQL databases... And also, specifically for Interbase there where IBX components for database access. But I do not remeber, if there was any specific management interface. Although, there is always Interbase own isql.
-
51 minutes ago, Miguel Jr said:As shown in the image above, when defining the table fields, the Numeric type is displayed with a size of 8 in the integer field and 2 in the decimal field. And after I save it and open it to insert data, it shows the Long type for the Value field, as shown, returning an error if I enter a decimal value. Why does this happen and how can I solve it?
Why it happens: probably nobody knows, because nobody probably uses Database Desktop for SQL databases... Maybe someone in Borland would have known, but that company no longer exists.
And how to solve it: do not use Database Desktop for SQL Databases... It is only useful for working with Paradox databases and maybe DBase/FoxPro databases...
-
BDE is not Database Desktop. As I told before, it is program for viewing and modifying Paradox and DBase tables using BDE. It was part of Dephi install in the past versions.
-
I do not understand the question. Database Desktop works with paradox tables and dbf files. Interbase or IBexpert do not. So they are not replacement for Database Desktop.
-
I mean replacement program, that does what you want database desktop to do.
-
Yes.
Other way would be to try to write your own replacement for database desktop. Lot of depends, what features of it are you using.
-
As far as I know, there is no way to make it work on windows 10 or 11... Only way I know, is to use a computer (maybe virtual) with older version of Windows.
-
Those are warnings shown, because those directories are not configured and program uses default values... That is not an issue at all, in older Windowses it would still launch. But Database Desktop does not work with Windows 10 or 11 (I do not remember, which version of Windows 10 broke it).
-
31 minutes ago, PeterBelow said:That is not relevant for Unicode UTF-16
It is absolutely is relevant to UTF-16. From CharPrevW documentation
QuoteThis function works with default "user" expectations of characters when dealing with diacritics. For example: A string that contains U+0061 U+030a "LATIN SMALL LETTER A" + COMBINING RING ABOVE" — which looks like "å", will advance two code points, not one. A string that contains U+0061 U+0301 U+0302 U+0303 U+0304 — which looks like "a´^~¯", will advance five code points, not one, and so on.
-
Previous character, not next.
CharPrev works also, if character consists of multiple codepoints...
-
It is written for 1 based strings where length(s)+1 is ending #0 (unless string is empty). Are you compiling it with 0 based strings, where it would go beyond it?
I do not know, why Pointer(S) and not @S[1]. Pointer probably works also correctly with empty strings, but there is already empty string check.
CharPrev itself is Windows api function that accepts PChar parameters.
-
1
-
-
Are added samples supposed to be valid json? Because they both are missing end. Which raises a question, how the json was generated.
-
Seems to be Web.Win.Sockets ? So not actual VCL I guess. Our newest Delphi version is XE, so no namespaces. You can check http://docwiki.embarcadero.com/CodeExamples/Alexandria/en/TTcpServer_(Delphi)
But then, according to
it was last included in Delphi XE. So I do not know, why that TTcpServer sample includes it with namespaces.
-
TIPSocket is part of VCL (unit Sockets). Indy classes are usually with names like TId*
-
1
-
-
Unfortunately I do not have Delphi version new enough. But maybe there is an overloaded version, that allows required parameters?
Indy own TIdSocketHandle.SetScokOpot also has AOptVal:Integer... But GStack.SetSocketOption seems to have required version.
IB server port requirements
in Databases
Posted
What is current network profile? Sometimes router restart or some other change causes Windows to think, that it has switched from private to public. Or domain to public. And All those have different firewall rules.