Delphi7 3

[Delphi] Cannot allocate socket on Windows 95

문제점 및 증상 Delphi 7 + Indy9으로 개발한 TCP Server 프로그램을 Windows 95에서 실행하면 다음과 같은 오류가 발생하였습니다. 참고로 동일한 프로그램이 Windows 98에서는 잘 동작하였습니다. 원인 분석 참고글에서 유사한 환경에서 오류가 발생하였을 때, Windows 95의 WinSock2를 패치하라는 답변에 따라 Windows 95의 WinSock2를 패치하는 파일을 검색해 보았으나 실제 패치할 수 있는 파일을 찾기가 힘들었습니다. 이미 20년도 더 지난 과거의 OS에 대한 자료이다 보니 관련 내용은 찾을 수 있었으나, 정작 패치 파일을 구할 수가 없었습니다. 해결 방법 Windows 95의 WinSock2를 패치하는 파일을 찾기가 힘들었는데, 다음 사이트에서 "w95w..

TIdMessage.GenerateHeader의 제목 처리 버그

Indy를 이용하여 메일 발송 프로그램을 만들어서 사용중이었습니다. 그런데, 특정 메일은 HTML 내용이 제대로 보이지 않고, 태그가 펼쳐져 보이는 것이었습니다. 원인을 분석해보니, SMTP서버로 메일을 보낼 때, TIdMessage에서 메일 헤더를 생성합니다. 그러나 이 부분에서 제목에 한글이 있는 경우 인코딩을 하는데, 제목이 긴 경우 특정 길이(75) 이하로 잘라서 헤더를 생성해주게끔 되어 있습니다. 문제는 헤더를 생성하는 부분에서 제목이 특정 길이(75) 이상인 경우 이미 올바로 헤더를 모두 만들어져 있는데, 그 값을 GenerateHeader에서 처리하는 부분에서 한번 더 불필요하게 처리를 하면서, 헤더 부분이 깨져서 메일 전체가 잘못되는 현상이 발생하게 됩니다. 이를 해결하기 위해서, 델파이7..

비스타(Vista)에서 ActiveX UAC 관련 문제

개요 XP에서 정상동작하던 ActiveX가 비스타 이상에서는 정상적으로 동작하지 않는 경우가 발생하였습니다. 원인은 비스타에서 강화된 보안의 영향으로 ActiveX에서 PC 주요 내부를 사용할 경우, 관리자 권한이 필요하게 되었는데, 일반적인 모드에서는 관리자 모드가 아니기 때문에, 관련 기능이 실패하여 발생한 문제였습니다. 다음은 비스타에서 일반적인 사용자 모드에서는 권한이 제한되는 기능들입니다. Change files in Program Files folders Change files in Windows or System32 folders Change registry under HKLM\Software Change the local machines date and time Install or unin..

728x90