Delphi 7

[Delphi] Form Style이 fsStayOnTop 일 경우 다이얼로그(Dialog) 박스가 뒤로 숨는 문제

폼 소스 부분은 생략하고 처리부분만 기술한다. Form Style : fsStayOnTop 해당 폼을 TObject 형태로 구현 함수로 넘긴다 (경우에 따라서 TForm으로 넘기던지 상속클래스 만들어서 넘기던지...그건 알아서...단, 구현부분 파라메터 타입과 구현부분도 거기에 맞추어서 ^^) 구현 부분 procedure ShowSaveDialogBox(Sender : TObject = nil) var saveDlg : TSaveDialog; SenderFormStyle : TFormStyle; isSenderFormStyleChange : Boolean; begin isSenderFormStyleChange := False; if (Sender nil) and Assigned(Sender) and (S..

[Delphi] Form Style이 fsStayOnTop일 경우 메세지 박스가 뒤로 숨는 문제

Showmessage 박스 Owner가 Application으로 되어져 있는 현상 때문에 Form이 StayOnTop일 경우 아래에 숨어버리는 현상 발생 해결 방법은 아래 소스.... Screen.ActiveForm을 이용한 방법 TForm1 = class(TForm) {...생략...} procedure OnScreenActiveFormChange(Sender: TObject); private {...생략...} protected {...생략...} public {...생략...} end; procedure TForm1.FormCreate(Sender: TObject); begin Screen.OnActiveControlChange := OnScreenActiveFormChange; end; proce..

[Delphi] Form Style이 fsStayOnTop일 경우 메세지 박스가 뒤로 숨는 문제

Showmessage 박스 Owner가 Application으로 되어져 있는 현상 때문에 Form이 StayOnTop일 경우 아래에 숨어버리는 현상 발생 해결 방법은 아래 소스.... Screen.ActiveForm을 이용한 방법 TForm1 = class(TForm) {...생략...} procedure OnScreenActiveFormChange(Sender: TObject); private {...생략...} protected {...생략...} public {...생략...} end; procedure TForm1.FormCreate(Sender: TObject); begin Screen.OnActiveControlChange := OnScreenActiveFormChange; end; proce..

[Delphi] 동적 DLL 호출 방법

다음은 동적(Static) DLL로 구현 되어져 있다. 정적(Static) DLL 이란? 본래의 DLL이라기 보다는 코드의 큰 함수들을 따로 모듈별로 분리 했다가 실행 시 함께 처리한다. 동적(Dynamic) DLL(런타임 로딩) 이란 ? DLL은 GetProcAddress라는 API를 사용하여 필요에 따라 첨가하고 필요에 따라 해제시킬 수 있다. DLL 소스 및 정적 DLL 호출 방법은 다음 글을 참고 하기 바란다. 2010/04/27 - [Language/Delphi] - [Delphi] DLL 호출 규칙(Calling Convention) 테스트용 DLL 및 Source 다음 소스는 Delphi 2010에서 제작 되었으나 기본 사용법은 동일하다. 1: unit UB_Main_DynDLL; 2: 3:..

[Delphi] DLL 호출 규칙(Calling Convention) 테스트용 DLL 및 Source

DLL호출 규칙에 대하여 먼저 언급하고자 한다. Delphi는 다른 랭귀지에서 사용된 함수들을 쉽게 호출 할 수 있도록 여러 가지 호출 규칙을 가진다. 아래와 같이 5가지 방법이 있다. Register(__fastcall) : 레지스터에 등록하여 호출하는 방식 stdcall(__stdcall) : 가장 일반적으로 활용하는 방식으로 윈도우 표준 cdecl(__cdecl) : 가변인자가 있는 경우 pascal(__pascal) : Delphi 최적화 코드를 생성하고자 할 때 스택으로 인자를 저장하는 방식보다는 레지스터를 경유하여 속도 향상 safecall : OLE 방식에서 이용 참고 : http://www.delmadang.com/community/bbs_view.asp?bbsNo=3&bbsCat=42&i..