Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

5 Neutral

Technical Information

  • Delphi-Version
    Delphi XE2

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. @Clément you forgot to wait for message queue to init - there's a time lag after PeekMessage is called until the thread is really ready to handle messages so if you post a message right after a thread is created, it will fail I use the following code procedure TMsgLoopThread.Execute; ... PeekMessage(MsgRec, 0, WM_USER, WM_USER, PM_NOREMOVE); SetEvent(FEvMsgQueueReady); ... function TMsgLoopThread.WaitStart(WaitInterval: DWORD): DWORD; begin Result := WaitForSingleObject(FEvMsgQueueReady, WaitInterval); end; and call WaitStart after I create the thread
  2. Fr0sT.Brutal

    SFTP client

    For Indy it should be relatively easy to write a IOHandler using SSH
  3. Fr0sT.Brutal

    TIdFtp - Disconnect by server

    Server could close inactive connection, like So you can: 1) Send keep-alives (just senseless commands like NOOP, PWD, TYPE I etc. But this will burden the server with permanent connection. 2) Connect to server when it is needed and keep the connection for some reasonable time after; then disconnect
  4. Fr0sT.Brutal

    FastMM4 and False Positives

    https://github.com/pleriche/FastMM4 Meanwhile to circumvent the report look at "expected leaks" feature. I've never used it myself but it sounds like something that shall help in your situation
  5. Fr0sT.Brutal

    Left Click Does not Focus Control

    I'd say it's easier to add necessary form functions to frame (adding header and close button shouldn't be too complex)
  6. Ehm, it is intended to achieve the fix of bug that is described above. Bug is that HTTP proxy could not have non-IP address. As an alternative, only else raise ESocketException.Create('Unsupported http proxy address format'); lines could be removed. The case of v6 IP when v6 is unavailable on the system will then fall to WSocket_Synchronized_ResolveHost(FHttpTunnelServer) and fail with 'Winsock Resolve Host: Cannot convert host address' exception. Not too informative as for me but this would be minimal change.
  7. Source/OverbyteIcsWSocket.pas | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Source/OverbyteIcsWSocket.pas b/Source/OverbyteIcsWSocket.pas index dce509a0..8dd824a4 100644 --- a/Source/OverbyteIcsWSocket.pas +++ b/Source/OverbyteIcsWSocket.pas @@ -22299,13 +22299,10 @@ begin else begin { V8.56 IPv6 support from Max Terentiev } if WSocketIsIP(String(FHttpTunnelServer), LSocketFamily) then begin - if (LSocketFamily = sfIPv4) or (IsIPv6APIAvailable) then - FSocketFamily := LSocketFamily - else - FSocketFamily := DefaultSocketFamily; - end - else - raise ESocketException.Create('Unsupported http proxy address format'); + if (LSocketFamily = sfIPv6) and not IsIPv6APIAvailable then + raise ESocketException.Create('IPv6 is not available'); + FSocketFamily := LSocketFamily; + end; if WSocketIsIP(FAddrStr, LSocketFamily) then begin if LSocketFamily=sfIPv6 then FAddrStr:='['+FAddrStr+']'; // IPv6 must be in [ ] Fixed subj
  8. Fr0sT.Brutal

    Good practices with nested methods

    Nested methods are fine. Just place as many variables as possible after them to avoid side effects.
  9. Fr0sT.Brutal

    Step-by-step debugging exceptions

    AFAIK there's no way except breakpoint on catch block
  10. Check Awesome-Pascal list from my signature as well
  11. Fr0sT.Brutal

    news about the beta of 10.3.4

    And the next version should be Delphi 10 Wacken \m/
  12. Fr0sT.Brutal

    Rules for changing cursor to HourGlass and back

    IMO nowadays it's better to show modal progress window (or even make the process async)
  13. Fr0sT.Brutal

    On The Design Of Uses Clauses

    AFAIU, the only truly reliable way of detecting excess uses is removing each used unit one by one and try compiling. But even then there are possible false positives when something useful happens in unit's init section. Anyway I doubt this task is required frequently so slow process or some part of false positives is quite acceptable
  14. Fr0sT.Brutal

    Spring4d and Rio

    Is classic Open package > Build > Install way already obsolete? Just curious - what so specific in install process that it requires special installer? Btw, there's an effort to make a package manager for Delphi called Delphinus. I haven't tried it yet but it looks promising.
  15. Fr0sT.Brutal

    Resolve a uses clause unit path?

    1. Have IDE open that unit 2. Check its path 3. Profit )))