PascalCoin Forum

PascalCoin => Development & Technical Discussion => Topic started by: Skybuck on January 27, 2022, 01:31:12 PM

Title: Potentially more unsafe code in initialization and finalization sections for blc
Post by: Skybuck on January 27, 2022, 01:31:12 PM
Exception handling not yet in place in initialization sections.

Possible exceptions in finalization sections.

initialization
begin
{$IFDEF ONCEWINSOCK}
  if not InitSocketInterface(DLLStackName) then
  begin
    e := ESynapseError.Create('Error loading Socket interface (' + DLLStackName + ')!');
    e.ErrorCode := 0;
    e.ErrorMessage := 'Error loading Socket interface (' + DLLStackName + ')!';
    raise e;
  end;
  synsock.WSAStartup(WinsockLevel, WsaDataOnce);
{$ENDIF}
end;


finalization
begin
{$IFDEF ONCEWINSOCK}
  synsock.WSACleanup;
  DestroySocketInterface;
{$ENDIF}
end;