Jump to content

Virgo

Members
  • Content Count

    106
  • Joined

  • Last visited

Everything posted by Virgo

  1. Virgo

    x32->x64

    Except Windows documentation defines this lpdwHandle as LPDWORD, So THandle would be wrong.
  2. 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();
  3. Virgo

    SFTP Support

    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
  4. Virgo

    TShellExecuteInfoA/W incorrectly translated?

    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.
  5. 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).
  6. 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);
  7. 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.
  8. 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...
  9. 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.
  10. 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.
  11. I mean replacement program, that does what you want database desktop to do.
  12. 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.
  13. 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.
  14. 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).
  15. It is absolutely is relevant to UTF-16. From CharPrevW documentation
  16. Previous character, not next. CharPrev works also, if character consists of multiple codepoints...
  17. 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.
  18. Are added samples supposed to be valid json? Because they both are missing end. Which raises a question, how the json was generated.
  19. Virgo

    Looking for info on the TIPSocket class

    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.
  20. Virgo

    Looking for info on the TIPSocket class

    TIPSocket is part of VCL (unit Sockets). Indy classes are usually with names like TId*
  21. Virgo

    [Need help] Linux recv() timeout

    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.
  22. Virgo

    [Need help] Linux recv() timeout

    What SetSockOpt are you using? In Linux SO_RCVTIMEO parameter is supposed to be a pointer to timeval record. Not Int.
  23. 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.
  24. 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.
  25. 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?
×