Jump to content

Mark-

Members
  • Content Count

    289
  • Joined

  • Last visited

  • Days Won

    1

Mark- last won the day on August 15 2022

Mark- had the most liked content!

Community Reputation

31 Excellent

1 Follower

About Mark-

Recent Profile Visitors

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

  1. Mark-

    TWSocket,,,

    Thank you Angus.
  2. Mark-

    TWSocket,,,

    Thank you. Not being on the stack is the only difference I see at the moment. I will give it a go and post the result.
  3. Mark-

    TWSocket,,,

    No problem. I found this on SO. "... that illustrates that in fact SO_BSP_STATE requires a buffer more than sizeof(CSADDR_INFO), which is in direct contrast to the Microsoft published documentation: ... Still looking for a working example in any language.
  4. Mark-

    TWSocket,,,

    Thanks for the response. Same result.
  5. Mark-

    TWSocket,,,

    Well, the wall has been hit. Not sure what is going on. Using what I "think" should work ends with: Replacing add_info:CSADDR_INFO; with add_info:CSADDR_INFO2 and no error. type SOCKET_ADDRESS = record lpSockaddr:PSOCKADDR; iSockaddrLength:integer; end; type CSADDR_INFO = record LocalAddr:SOCKET_ADDRESS; RemoteAddr:SOCKET_ADDRESS; iSocketType:Integer; iProtocol:Integer; end; type CSADDR_INFO2 = record space:array [0..127] of byte; end; procedure TForm3.FormDestroy(Sender: TObject); begin WSocket1.Abort; end; function GetLastSocketErrorMessage: string; var ErrorCode:integer; Buffer:array[0..255] of Char; begin ErrorCode := WSAGetLastError; if ErrorCode <> 0 then begin FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_IGNORE_INSERTS, nil, ErrorCode, 0, Buffer, SizeOf(Buffer), nil ); Result := Format('Socket Error %d: %s', [ErrorCode, StrPas(Buffer)]); end else Result := 'No socket error.'; end; procedure TForm3.FormShow(Sender: TObject); var optLen:integer; add_info:CSADDR_INFO; begin WSocket1.Connect; OptLen:=SizeOf(add_info); FillChar(add_info,OptLen,#0); if WSocket_getsockopt(WSocket1.HSocket, SOL_SOCKET, SO_BSP_STATE, @add_info, OptLen) = SOCKET_ERROR then ShowMessage(GetLastSocketErrorMessage); Any ideas? Mark
  6. Hello, A computer with multiple networks interfaces. The "port" and "addr" are set. "LocalAddr" is not set. No SSL. "Connect" command is called. The question, how to determine the IP address of the network interface used. Cheers, Mark
  7. Mark-

    EnumFontFamiliesEx...

    I did, after my last post. Thanks for your time.
  8. Mark-

    EnumFontFamiliesEx...

    I guess you are not comparing them. Not sure what you are trying to do Remy. I wrote in the first post, I wanted to use the same script names that TFontDialog displayed. The matrix I produced has the descriptions, the post you refer to does not have any descriptions used by TFontDialog. I had to create a few descriptions because TFontDialog did not show the font. Remy, I know you provide a lot of help on this forum and on other sites. And I have, many times, read your post and thought it was great. I am not sure you are helping in this thread.
  9. Mark-

    EnumFontFamiliesEx...

    No, it is not the same.
  10. Mark-

    VCL Styles Utils...

    It was an API call that had wrong parameters.
  11. Mark-

    EnumFontFamiliesEx...

    Right, that is what I was searching for, "...OS wants to display". Then regardless of language, I assume, it would be correct. But, no joy. So I went through all the fonts on my computer, which TFontDialog does not show them all, and created this matrix,
  12. Mark-

    EnumFontFamiliesEx...

    Thanks for the response. Yeah, I could not find anything. The issue is multiple languages. I wonder what TFontDialog displays on French/Spanish/etc. machines.
  13. Mark-

    EnumFontFamiliesEx...

    Thanks for the response. I have the table and is it is not the text that appears in TFontDialog. I am seeking the text "description".
  14. Mark-

    EnumFontFamiliesEx...

    Hello, Delphi 10.2.3. I have worked out how to collect the character sets (scripts) for each font name. Now I am trying to convert the byte values returned from EnumFontFamiliesEx to the name of the character set like is seen below under Script. Web searching, no joy. WIN32 Programmer's Reference, no joy. Any ideas? Thanks, Mark
×