Virgo
Members-
Content Count
106 -
Joined
-
Last visited
Everything posted by Virgo
-
Except Windows documentation defines this lpdwHandle as LPDWORD, So THandle would be wrong.
-
function: how to return nil
Virgo replied to jesu's topic in Algorithms, Data Structures and Class Design
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(); -
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.
-
Constant declarations keeps baffling me (don't know enough I guess)
Virgo replied to Tommi Prami's topic in RTL and Delphi Object Pascal
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). -
Constant declarations keeps baffling me (don't know enough I guess)
Virgo replied to Tommi Prami's topic in RTL and Delphi Object Pascal
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); -
Why does the field type change after saving the Table within the database?
Virgo replied to Miguel Jr's topic in Databases
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. -
Why does the field type change after saving the Table within the database?
Virgo replied to Miguel Jr's topic in Databases
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... -
How to resolve error in Database Desktop execution in Delphi 7
Virgo replied to Miguel Jr's topic in 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. -
How to resolve error in Database Desktop execution in Delphi 7
Virgo replied to Miguel Jr's topic in Databases
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. -
How to resolve error in Database Desktop execution in Delphi 7
Virgo replied to Miguel Jr's topic in Databases
I mean replacement program, that does what you want database desktop to do. -
How to resolve error in Database Desktop execution in Delphi 7
Virgo replied to Miguel Jr's topic in Databases
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. -
How to resolve error in Database Desktop execution in Delphi 7
Virgo replied to Miguel Jr's topic in Databases
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. -
How to resolve error in Database Desktop execution in Delphi 7
Virgo replied to Miguel Jr's topic in Databases
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). -
What does this function mean? CharPrev / Range Check Error
Virgo replied to terran's topic in General Help
It is absolutely is relevant to UTF-16. From CharPrevW documentation -
What does this function mean? CharPrev / Range Check Error
Virgo replied to terran's topic in General Help
Previous character, not next. CharPrev works also, if character consists of multiple codepoints... -
What does this function mean? CharPrev / Range Check Error
Virgo replied to terran's topic in General Help
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. -
Unicode NBSP(u00A0) No-Break Space character for 64-bit
Virgo replied to sp0987's topic in RTL and Delphi Object Pascal
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*
-
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.
-
What SetSockOpt are you using? In Linux SO_RCVTIMEO parameter is supposed to be a pointer to timeval record. Not Int.
-
function SHA1ofStr or Base64Encode fault output
Virgo replied to xauxag's topic in ICS - Internet Component Suite
What I ment was, that I got an impression, that SHA1ofStr and Base64Encode functions were originally written for pre-Unicode Delphi. And to make them work on Unicode Delphi version String was just replaced with AnsiString. And on old Delphi versions it was usual to use string as byte buffer. Event Delphi itself did it. -
function SHA1ofStr or Base64Encode fault output
Virgo replied to xauxag's topic in ICS - Internet Component Suite
Since hash function results binary hash and not hexencoded one and the function predates Unicodestring Ansistring result makes sense. UnicodeString for binary hash would be the worst type. -
function SHA1ofStr or Base64Encode fault output
Virgo replied to xauxag's topic in ICS - Internet Component Suite
Really strange... That output value decodes to hexencoded value 1d29ab734b0c9585240069a6e4e3e91b613f69 Correct value would be 1d29ab734b0c9585240069a6e4e3e91b61da1969 So da19 to 3f or lead surrogate-da19 to question mark? Some sort weird unicode issue?