Jump to content

chmichael

Members
  • Content Count

    60
  • Joined

  • Last visited

  • Days Won

    2

chmichael last won the day on July 11 2019

chmichael had the most liked content!

Community Reputation

12 Good

Recent Profile Visitors

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

  1. chmichael

    ICS 9.3 SVN SMTP Attachment

    It's fixed with ICS V9.4 - Part 6 -> Fixed bug introduced in V9.3 which corrupted the Content-Transfer-Encoding header line if not 7bit.
  2. chmichael

    ICS 9.3 SVN SMTP Attachment

    I'll take a deeply look when i find some time
  3. chmichael

    ICS 9.3 SVN SMTP Attachment

    I think the error is header for whatever reason it's not the correct eg: v9.1: Content-Transfer-Encoding: quoted-printable v9.3: Content-Transfer-Encoding: q Seems 9.3 doesn't apply the correct header values Also Return-Path: <> is empty (in both v9.1 and v9.3)
  4. chmichael

    ICS 9.3 SVN SMTP Attachment

    Hello, Here's the function which i send the e-mails function SendEMail(const AArgs: TArray<String>): String; var FSMTP: TSSLSmtpCli; begin FSMTP := TSSLSmtpCli.Create(nil); FSMTP.SslContext := TSslContext.Create(nil); FSMTP.SslContext.SslMinVersion := sslVerTLS1_2; with FSMTP do begin Host := 'my.emailserver.com'; Port := '587'; Username := 'myuser@emailserver.com'; Password := 'mypassword'; AuthType := smtpAuthAutoSelect; ContentType := smtpHtml; // Important !!! Set it First //Allow8bitChars := False; //ConvertToCharset := True; CharSet := 'UTF-8'; HdrFrom := 'myuser@emailserver.com'; HdrTo := 'myuser@emailserver.com'; RcptName.Text := HdrTo; HdrSubject := UTF8Encode(VarToStr(AArgs[0])); if Length(AArgs) > 1 then MailMessage.Text := UTF8Encode(VarToStr(AArgs[2])); OpenSync; MailSync; Result := ErrorMessage; FreeAndNil(FSMTP.SslContext); FreeAndNil(FSMTP); end; end; Using the v9.3 SVN version the e-mail which it sends adds an extra attachment which v9.1 didn't: (either plaintext either html)
  5. Hello, I get a "attachment.asm" or (.htm if it's html) in the e-mail ICS 9.3 SVN sends. Any ideas ? Thank you
  6. chmichael

    MSQuic for Delphi ?

    Experimenting with message protocols and DNS
  7. chmichael

    MSQuic for Delphi ?

    This isn't a problem in a year from now most will use Windows 11. Messaging protocols and middleware benefit also. Yes i know it's time consuming task but you can make sell it. atm only esegece has native delphi http/2 support as far i know. It would be nice to have a benchmark between esegece HTTP/2 vs ICS HTTP 1.1.
  8. chmichael

    MSQuic for Delphi ?

    Hello, Anyone translated MSQuic headers for Delphi use ? Seems to be the best implementation atm. Thank you
  9. chmichael

    TCP Port Check with timeout

    Got it! Thanks!
  10. chmichael

    TCP Port Check with timeout

    Ok, i fixed the routine to work both on main and on a thread. It works correctly locally but remotely it always connect OK even if the "server/port" is closed. Any ideas ? btw, doSocketRemoteClick has the same behavior. function IsInternetPortOpenICS(const AIPAddress: AnsiString = ''; const APort: Word = 0; const ATimeOut: NativeUInt = INFINITE): Boolean; var IpLogClient: TIcsIpStrmLog; FThreadID, FTimeout: NativeUInt; begin Result := False; try FThreadID := GetCurrentThreadId; IpLogClient := TIcsIpStrmLog.Create(nil); IpLogClient.LogProtocol := logprotTcpClient; IpLogClient.RemoteHost := AIPAddress; IpLogClient.RemoteIpPort := APort.ToString; //IpLogClient.onLogProgEvent := Form9.onCliLogProgEvent; //IpLogClient.CheckPing := True; //IpLogClient.PingWaitSecs := 1; if FThreadID <> MainThreadID then IpLogClient.MultiThreaded := True; IpLogClient.StartLogging; FTimeout := 0; while FTimeout < ATimeout do begin if FThreadID = MainThreadID then Application.ProcessMessages else IpLogClient.ProcessMessages; Result := IpLogClient.States[0] = logstateOK; if Application.Terminated or Result then Break; Inc(FTimeout, 10); Sleep(10); end; IpLogClient.StopLogging; finally if Assigned(IpLogClient) and IpLogClient.AnyStateOK then IpLogClient.StopLogging; FreeAndNil(IpLogClient); end; end;
  11. chmichael

    TCP Port Check with timeout

    Hello Angus, How can i get the result ? (Is open or not) Do i have to use application.processmessages ? I'm going to use this routine in a thread. Thank you function IsInternetPortOpenICS(const AIPAddress: AnsiString = ''; const APort: Word = 0; const ATimeOut: NativeUInt = INFINITE): Boolean; var IpLogClient: TIcsIpStrmLog; begin try IpLogClient := TIcsIpStrmLog.Create(nil); IpLogClient.MaxSockets := 1; IpLogClient.LogProtocol := logprotTcpClient ; IpLogClient.RemoteHost := AIPAddress; IpLogClient.RemoteIpPort := APort.ToString; IpLogClient.CheckPing := False; IpLogClient.StartLogging; Result := // Check if connected ??? IpLogClient.StopLogging; finally if Assigned(IpLogClient) and IpLogClient.AnyStateOK then IpLogClient.StopLogging; FreeAndNil(IpLogClient); end; end;
  12. chmichael

    TCP Port Check with timeout

    Well I'm using the following code to do what you're saying but for some reason it doesn't always work! Eg. even if the server port is closed it will return "True".
  13. Hello, How can i check if a TCP port is open over Internet with timeout using ICS ? Thank you
  14. chmichael

    ID3D11Texture2D to TBitmap and RowPitch

    I have checked that but it doesn't check the RowPitch.
  15. chmichael

    ID3D11Texture2D to TBitmap and RowPitch

    Hello, Anyone knows how to copy the Bits from a ID3D11Texture2D which it has different RowPitch than Bitmap.Width * 4 ? if FTexture.RowPitch = FBitmap.Width * 4 then for I := 0 to FBitmap.Height - 1 do Move(FTexture.pData[4 * FBitmap.Width * I], FBitmap.Scanline^, 4 * FBitmap.Width); else ????? Thank you
×