프로그래밍/델파이 80

비스타(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..

ActiveForm의 DAX 오류 해결하기.

Delphi7을 이용한 ActiveForm을 제작하였더니, 다음과 같은 오류가 발생하였습니다. TActiveForm의 OnDestroy가 호출되지 않는 문제가 있었고, ActiveForm을 오랫동안 사용하게 되면, 알 수 없는 오류들이 발생하는 것이었습니다. 구글링을 하여 보면, 여러 자료들이 나오고 아래 참고자료를 참고해 보시면 되고, 저는 다음과 같이 해결하였습니다. 먼저 델파이 VCL의 axctrls.pas 소스의 ParkingWindow 윈도우 부분을 아래와 같이 수정합니다. 수정 전에 원본 axctrls.pas 파일과 axctrls.dcu 파일을 백업해 둡니다. function ParkingWindow: HWND; var TempClass: TWndClass; ParkingName : Strin..

TADOStoredProc를 통한 저장 프로시저 호출하기

델파이로 C/S 프로그램밍을 하다 보면, SQL 서버의 성능 및 보안 등 여러 유용함으로 저장 프로시저를 많이 사용하게 됩니다. 아래는 ADO의 TADOStoredProc를 통한 저장 프로시저 호출에 대한 부분을 정리하여 보았습니다. ADO가 아닌 다른 경우에도 대동소이할겁니다. 1. 호출 과정 TADOStoredProc 객체를 생성(Create)합니다. 저장 프로시저를 호출하기 위한 여러 속성들, 연결(Connection) 및 저장 프로시저 이름(ProcedureName) 등을 설정합니다. 파라미터를 초기화합니다.(CreateParameter) 저장 프로시저를 실행합니다.(Open / ExecProc) 저장 프로시저가 실행된 결과를 받아서 처리합니다.(RecordCount, Eof, Fields, Mo..

MDB(MS Access) 파일 생성하기

액세스(Access) DB 파일인 MDB를 델파이에서 수동으로 생성하는 함수입니다. {** MDB 파일을 생성한다. *} function CreateMDB(hwndOwner:HWND; const strFileName:string):integer; const ODBC_DLL ='ODBCCP32.DLL'; FUNC_NAME ='SQLConfigDataSource'; var strSystemDir:string; nSize:integer; hLib:THandle; fn:TSQLConfigDataSource; begin Result:=0; SetLength(strSystemDir, 1024); nSize:=GetSystemDirectory(@strSystemDir[1], 1024); if nSize=0 then ..

운영체제의 ProductID 얻기

현 운영체제의 ProductID 얻기 함수를 아래와 같이 작성하여 보았습니다. {** 현 운영체제의 ProductID를 얻는다. @result 현 운영체제의 ProductID *} function GetProductID: String; const CURRENT_VERSION = 'SOFTWARE\Microsoft\Windows\CurrentVersion'; var reg: TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_LOCAL_MACHINE; if reg.KeyExists(CURRENT_VERSION) then begin reg.OpenKey(CURRENT_VERSION, False); if reg.ValueExists('Produ..

신뢰할 수 있는 사이트에 등록하기

다음 함수를 이용하여 신뢰할 수 있는 사이트에 원하는 사이트를 등록할 수 있습니다. {** IE 설정의 보안탭의 신뢰할 수 있는 사이트에 입력한 사이트를 추가합니다. @param strSite 신뢰할 수 있는 사이트에 추가할 사이트 @result 신뢰할 수 있는 사이트에 추가가 성공하면 true를 반환, 오류시 false를 반환합니다. *} function SetReliableSite(const strSite:string;dwFlags:Cardinal=SZM_CREATE):boolean; var AResult:HRESULT; AInternetZoneManager:IInternetZoneManager; AInternetSecurityManager:IInternetSecurityManager; dwEnum,..

VirtualTree 패키지 수동 설치(Delphi 2009)

빠른 속도와 다양한 기능을 지원하는 VritualTree 패키지를 설치하는 방법에 대해 정리해 보았습니다. 본 글을 작성하는 시점에 VritualTree 4.7.0 버전의 소스를 받아서 수동으로 설치하는 방법입니다. 델파이 다른 버전들도 아래 방법대로 진행하면 큰 문제가 없을 겁니다. 0. VirtualTree 패키지 준비(다운로드) 다음 주소에서 패키지 소스(VTSourceOnly.zip)를 다운로드 받습니다. http://www.delphi-gems.com/index.php?option=com_content&task=view&id=12&Itemid=38 1. 다운로드 받은 VirtualTree 패키지를 적당한 디렉토리에 압축 풀기 2. 환경설정의 Library Path에 VirtualTree 패키지의..

Embedded Web Browser package

널리 알려진 Embedded Web Browser(EmbeddedWB) 입니다. 손쉽게 나만의 맞춤형 웹 브라우저를 만들수 있을 뿐만 아니라, "즐겨찾기" 및 "기록"의 항목들도 관리할 수 있고, 간편한 HTML 편집기 컴포넌트까지 포함되어 있습니다. Embedded Web Browser package 포함되어 있는 컴포넌트들의 일부입니다. EmbeddedWB. ExportFavorites. Import Favorites. TextIEParser. FavoritesMenu. FavoritesListView. FavoritesTree. HistoryMenu. HistoryListView. IEAddress ComboBox. IECache. IEDownload. IETools IEUtils. IEGuid. ..

ADO의 데이터 연결문자열을 생성하는 대화상자 띄우기 - PromptDataSource

델파이에서 ADO 연결문자열을 설정할 때, 나타나는 "데이터 연결 속성" 창을 그대로 호출해주는 함수가 있습니다. 제목에도 있는 PromptDataSource 함수입니다. 이 함수를 호출하면 아래 그림과 같은 "데이터 연결 속성" 창이 나타납니다. 아래는 PromptDataSource 함수를 사용한 예입니다. procedure TMainForm.btnConnectionStringClick(Sender: TObject); var wstrConnStr:string; begin wstrConnStr := FConnectionString; wstrConnStr := PromptDataSource(handle, wstrConnStr); if wstrConnStr'' then begin FConnectionStri..

728x90