Jump to content

Virgo

Members
  • Content Count

    110
  • Joined

  • Last visited

Posts posted by Virgo


  1. 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.


  2. 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.


  3. 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.


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

     


  5. 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...


  6. 31 minutes ago, PeterBelow said:

    That is not relevant for Unicode UTF-16

    It is absolutely is relevant to UTF-16. From CharPrevW documentation 

    Quote

    This 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.

     


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

    • Like 1

  8. 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.

×