? 전보에 대한 Digao Dalpiaz 뉴스



03/25/2024 (버전 6.7) ( 최소 DZHTMLTEXT 버전 : 6.3 )
03/16/2024 (버전 6.6)
03/10/2024 (버전 6.5)
02/23/2024 (버전 6.4)
02/22/2024 (버전 6.3)
02/20/2024 (버전 6.2)
Lib{Platform}{Config} 입니다. 라이브러리 경로를 검토하십시오.01/21/2024 (버전 6.1) ( 최소 dzhtmltext 버전 : 5.2 )
01/12/2024 (버전 6.0) ( 최소 dzhtmltext 버전 : 5.1 )
경고!!! 많은 파일이 이름과 위치를 변경 했으므로 이전 댐 구성 요소 폴더를 삭제하여 이전 버전을 완전히 제거하십시오.
12/11/2023 (버전 5.2)
07/29/2023 (버전 5.1)
04/11/2023 (버전 5.0) ( 최소 dzhtmltext 버전 : 4.0 )
DamUnitName 속성에서 지원하는 하위 폴더09/12/2021 (버전 4.16)
07/24/2021 (버전 4.15)
06/13/2021 (버전 4.14)
03/21/2021 (버전 4.13)
03/14/2021 (버전 4.12)
03/13/2021 (버전 4.11)
03/05/2021 (버전 4.10)
02/10/2021 (버전 4.9)
20/18/2020 (버전 4.8)
11/27/2020 (버전 4.7)
11/11/2020 (버전 4.6)
10/31/2020 (버전 4.5)
10/27/2020 (버전 4.4)
10/26/2020 (버전 4.3) ( 최소 DZHTMLTEXT 버전 : 2.6 )
10/26/2020 (버전 4.2)
10/18/2020 (버전 4.1) ( 최소 DZHTMLTEXT 버전 : 2.04 )
10/14/2020 (버전 4.0)
비고 :
09/24/2020
08/11/2020
08/07/2020
08/03/2020
07/30/2020
07/21/2020
05/25/2020
<img:nnn> 사용). tdzhtmltext 구성 요소를 업데이트해야합니다.05/03/2020
05/02/2020
DamParams . 유형 지원으로 동적 배열이 없기 때문에 XE8 미만의 Delphi 버전에 필요합니다.System.ImageListAutoWidth 속성을 제거했습니다. 이제 tdammsg 구성 요소에 새 속성 FixedWidth 있으므로 메시지별로 사용자 정의 너비를 지정할 수 있습니다. fixedwidth가 0 (기본값) 인 경우 구성 요소는 자동 세기 내부 기능을 유지합니다.CenterButtons 속성을 기본값으로 변경했습니다.04/26/2020
<imgres:{resource_name}> 태그를 사용하여 메시지 텍스트 영역에 이미지를 포함시킬 수 있습니다. 애플리케이션 리소스에 PNG 이미지를 추가하고 태그를 사용하여 메시지에 참조하십시오. 이 구현은 DAM에서 사용하는 dzhtmlText 구성 요소에 있습니다. dzhtmltext 구성 요소를 업데이트하면이 기능을 사용할 수 있습니다. 자세한 내용은 dzhtmltext 이미지 태그 섹션을 읽으십시오. 중요 : 디자인 시간에는 이미지가 표시되지 않습니다 .04/19/2020
2019 년 10 월 7 일
10/06/2019
10/05/2019
05/03/2019
02/11/2019
02/08/2019
02/07/2019
02/06/2019
02/05/2019
메시지 대화 상자 사용자 정의를 허용하려면 TDAM 구성 요소에 새로운 속성 MessageColor 및 ButtonsColor를 추가하십시오.
거의 모든 응용 프로그램을 작성하려면 메시지 대화 상자를 추가해야합니다.
Delphi는 ShowMessage, MessagedLG 및 MessageBox와 같은 몇 가지 옵션을 제공합니다.
프로젝트가 커지면 대화 상자가 코드를 엉망으로 만들 수 있습니다.
메시지의 일부를 포맷 해야하는 경우 사용자 정의 양식으로 레이블을 추가해야합니다. 이것은 정말로 나쁠 수 있습니다.
이 메시지를보십시오.
begin
ShowMessage( ' The task was scheduled to run at the time: ' +aTime+ ' . ' +# 13 # 10 +
# 13 # 10 +
' Please, check the schedule at main board. ' +
' If you want to change schedule, find by ID # ' +IntToStr(IDNumber)+ ' . ' +# 13 # 10 +
# 13 # 10 +
' This task was created by user ' +aUserName+ ' . Only this user can edit this task profile. ' );
end ;그래서, 나는 이것이 정말로 추악하다고 생각하지 않습니까? ?
댐을 사용하면 다음과 같은 동일한 메시지를 쓸 수 있습니다. ?
begin
InfoTaskScheduled([aTime, IDNumber, aUserName]);
end ;이 구성 요소를 사용하면 "컨테이너"에서 모든 응용 프로그램 메시지를 관리 할 수 있습니다. 마법사 제작자로 메시지 대화 상자를 생성하여 메시지 (Bold, Italic, Underline, Font 이름, 글꼴 크기, 텍스트 배경 색상, Align Center, Align Ordge, Ord a Tab Alignment, 클릭 가능 링크 등)를 포맷 할 수 있습니다.
메시지 버튼, 아이콘, 양식 제목 등을 지정할 수 있습니다.
그런 다음 메시지의 이름을 지정합니다. 따라서 응용 프로그램의 어느 부분에서나 메시지를 호출하여 메시지 이름으로 메소드를 호출 할 수 있습니다!
메시지 텍스트에 매개 변수를 지정하면 메시지 메소드를 호출 할 때 텍스트에서 대체 될 매개 변수를 지정할 수 있습니다.
이 구성 요소가 어떻게 작동하는지 알아 보려면이 문서를주의 깊게 읽으십시오. ?
DFM에 저장된 모든 메시지를 나열하는 댐 컨테이너 :

메시지 마법사 제작자, 메시지 대화 상자를 사용자 정의합니다.

메시지 대화 상자 :?

바로 가기
CTRL+C메시지 양식에서 메시지를 클립 보드에 복사 할 수 있습니다.
먼저 내 dzhtmltext 구성 요소를 설치해야합니다. 여기에서 가져 오십시오 : https://github.com/digao-dalpiaz/dzhtmltext
이것은 HTML 형식 구성 요소가있는 레이블입니다. 메시지는이 구성 요소를 사용하여 형식화 된 텍스트를 표시합니다.
DZHTMLTEXT 및 DAM을 한 번에 설치하는 경우 컴포넌트 설치 프로그램 유틸리티를 사용하여 DZHTMLTEXT를 설치 한 후 DAM을 설치하기 전에 Delphi를 열고 닫아야합니다 (MSBuild에서 사용하는 라이브러리 경로 파일을 업데이트하는 데 필요합니다).
LibWin32Release 설정하십시오.Delphi XE3를 지원합니다. Delphi 12
메뉴 패키지> 패키지 파일 열기 (.LPK)로 이동하여 lazdampackage.lpk를 로드하고 컴파일 을 클릭하십시오.
메뉴 패키지> 패키지 파일 열기 (.LPK)로 이동하여 LazDamDesignPackage.lpk를 로드하고 사용> 설치를 클릭하십시오.
현재 다음 언어는 메시지에 사용할 수 있습니다.
언어는 확인, 취소, 예, 아니오 및 형식의 제목과 같은 메시지 대화 상자에서 버튼 캡션을 정보, 질문, 경고, 오류 및 메시지 (사용자 정의)를 설정합니다. 양식 제목은 메시지 속성에서 변경 될 수 있으며 부모 양식 제목, 기본 양식 제목 및 응용 프로그램 제목과 같은 다른 객체에서 자동으로 설정할 수 있습니다.
나에게 새로운 언어 번역을 보내거나 현재 번역을 보낼 수있는 문제를 열 수 있습니다.
주요 아이디어는 메인 형식 또는 기본 데이터 모듈에서 하나의 TDAM을 삭제하는 것입니다. TDAM은 모든 tdammsg (메시지 대화 상자)가있는 컨테이너입니다.
메시지를 관리하려면 TDAM 구성 요소를 두 번 클릭 하거나 마우스 오른쪽 버튼으로 클릭하고 댐 메시지 관리를 선택하십시오.
하지만 메시지를 호출하는 방법?
TDAM에는 DamUnitName 이라는 속성이 있습니다. 여기에서 모든 메시지 메소드를 포함하도록 단위 이름을 정의합니다. 함수 빌드 장치를 사용하면 구성 요소는 모든 생성 된 메시지를 기반으로 한 메소드 (메시지 이름과 동일한 이름)를 사용하여 프로젝트 폴더 에서이 장치를 자동으로 생성합니다.
따라서 모든 유닛에서는이 장치에 용도를 추가하고 원하는 메시지를 메시지 이름으로 호출하십시오. 메시지에 매개 변수가 있으면 메소드가 배열에서 매개 변수를 자동으로 요구합니다.
예,하지만 내가 같은 클래스 (tform/tdatamodule) 인 경우 TDAM 및 TDAMMSG 메시지 인 경우 메시지 이름으로 메소드를 호출하면 Delphi는 메시지의 대상을 언급한다고 생각합니다!
이것은 사실이며, 그로 인해 구성 요소에는 객체 숨겨진 함수가 있습니다. _ 로 시작하는 메시지의 이름 만 지정하면됩니다. 따라서 유닛 빌더는이 문자를 제거하여 방법의 이름을 지정하고 Delphi는 두 가지를 혼동하지 않습니다.
_ 문자로 시작하는 모든 메시지를 만들 것을 권장합니다.
마법사를 사용하면 이름이 자동 으로이 문자로 시작됩니다.
댐 관리자의 버튼이 선택한 모든 메시지를 숨기거나 숨기지 않습니다.
메시지를 변경할 때마다 장치를 재건해야합니다. 버튼 빌드 장치를 클릭하여 업데이트하십시오.
좋아요,하지만이 장치를 사용하고 싶지 않습니다! 다른 방법이 있습니까?
물론이죠. tdammsg 객체의 함수를 사용하여 메시지를 호출 할 수 있습니다. 메시지 객체 Run 또는 RunAsBool 함수를 사용하십시오. 이 경우 메시지를 숨기지 말 것을 권장하므로 객체 이름으로 호출 할 수 있습니다.
그러나 나는 솔직히 당신이 훨씬 더 의미가 있기 때문에 장치를 사용하는 것이 좋습니다.
응용 프로그램에서 둘 이상의 TDAM 컨테이너를 사용할 수 있습니까?
예, 할 수 있습니다. TDAM을 사용하면 메시지 글꼴 및 사운드와 같은 일부 구성을 정의 할 수 있습니다. 따라서이 구성 그룹을 갖기 위해 둘 이상의 TDAM이있을 수 있습니다. 그 외에도 다양한 TDAM을 사용하여 카테고리별로 메시지를 그룹화 할 수 있습니다. TDAM을 특정 형태로 넣을 수도 있지만 물론 메시지를 발사하려면 컨테이너가 존재해야한다는 것을 기억하십시오.
둘 이상의 TDAM을 사용하는 경우 모든 TDAM 구성 요소에서 동일한 DamUnitName 설정하는 것이 좋습니다. 따라서 빌드 장치 버튼을 호출하면 모든 TDAM 컨테이너의 모든 메시지가 포함 된 단일 장치가 생성됩니다. 따라서 프로젝트의 다른 모든 단위 에서이 단일 장치를 사용하여 메시지를 호출 할 수 있습니다.
메시지 결과 코드 :
메시지 이름의 메소드로 메시지를 호출하면 메시지에 단 하나의 버튼 만있는 경우 메소드가 절차가됩니다.
메시지에 2 ~ 3 개의 버튼이 있으면 메소드가 함수가됩니다. 버튼 두 개가 있으면 함수는 항상 부울 값을 반환하고 왼쪽의 첫 번째 버튼을 클릭 한 경우 true를 반환하거나 두 번째 버튼 (오른쪽의 마지막 버튼)이 클릭 한 경우 False를 반환합니다.
메시지에 3 개의 버튼이 있으면 메시지 대화 상자에서 어떤 버튼을 누르는 지에 따라 함수는 정수 값 1, 2 또는 3을 반환합니다. 첫 번째 버튼은 왼쪽 버튼입니다. 두 번째는 중간 버튼입니다. 세 번째 버튼은 오른쪽 버튼입니다.
따라서 세 버튼을 사용할 때는 변수 또는 case 사용할 수 있습니다.
case QuestionSaveFile([aFileName]) of
1 : DoSaveFile; // Yes button
2 : { continue } ; // No button
3 : Abort; // Cancel button
end ; 메시지에서 교체 가능한 매개 변수를 사용하려면 %p 입력하십시오. 동일한 메시지에서 여러 매개 변수를 지정할 수 있습니다. 메시지를 호출 할 때 매개 변수 배열은 메시지에 입력 한 순서와 동일한 순서로 순차적으로됩니다.
매개 변수 배열은 변형 유형이므로 변환이 필요하지 않습니다.
예:
// TDamMsg Message property = 'This is a %p message number %p at time %p'
MyCustomMessage([ ' test ' , 123 , Now]);
// or
MsgInfo( ' This is a %p message number %p at time %p ' , [ ' test ' , 123 , Now]); ButtonsColor: TColor = 메시지 대화에서 버튼 영역의 배경색 정의.
ButtonsFont: TFont = 대화 버튼의 텍스트 글꼴 정의
ButtonsFontColor: TAlphaColor = 대화 버튼의 텍스트 글꼴을 정의합니다 (FMX 환경에서만 사용할 수 있음)
CenterButtons: Boolean = 메시지 양식의 버튼이 센터에서 정렬되는지 정의하십시오. 이 속성이 False 인 경우 버튼은 양식의 오른쪽으로 정렬됩니다.
DamDefault: Boolean =이 TDAM이 빠른 메시지를 발사하는 데 사용되는지 정의합니다 (빠른 메시지 섹션을 읽으십시오). 응용 프로그램의 기본값으로만 정의 할 수 있습니다.
DamUnitName: String = 프로젝트 폴더의 모든 메시지 메소드로 작성할 단위 이름을 지정합니다. 구성 요소가 ".pas"확장자로 이름을 자동으로 완성하므로 파일 확장자를 지정하지 마십시오.
DialogBorder: Boolean = 메시지 대화 상자에 경계가 포함되어 있는지 정의합니다. 이 속성을 비활성화하여 최신 대화 상자 테마를 만들 수 있습니다.
DialogPosition: TDamDlgPosition = 대화 상자 양식 시작 위치를 정의합니다.
HandleExceptions: Boolean =이 TDAM을 정의하여 모든 응용 프로그램 예외를 처리하여 다른 모든 댐 메시지와 동일한 대화 상자가있는 오류 메시지를 표시합니다. 응용 프로그램의 예외를 처리하도록 하나의 TDAM 만 설정할 수 있습니다.
HideIcon: Boolean = True, 메시지 대화 상자의 아이콘이 억제됩니다.
Images: TCustomImageList =를 사용하면 메시지 텍스트에서 idx 이미지 색인 인 태그 <img:idx> 사용하여 Imagelist를 설정할 수 있습니다.
Language: TDamLanguage = 메시지 버튼 및 메시지 양식 제목으로 사용되는 언어를 정의합니다. TDAM 구성 요소 인스턴스를 배치하면이 속성은 시스템 현재 언어에 따라 초기화됩니다. 시스템에 따라 사용 가능한 언어가 없으면 영어가 설정됩니다. 이 속성에는 기본값이 없습니다. 정확하게 정의되는 언어를 저장해야하기 때문입니다.
MessageColor: TColor = 메시지 대화 상자에서 메시지 영역의 배경색 정의.
MessageFont: TFont = 메시지의 텍스트 글꼴을 정의합니다
MessageFontColor: TAlphaColor = 메시지의 텍스트 글꼴을 정의합니다 (FMX 환경에서만 사용할 수 있음)
PlaySounds: Boolean = 경고, 질문 및 오류 종류의 메시지를 표시 할 때 시스템 사운드 활성화.
OnLinkClick(Sender: TObject; Msg: TDamMsg; const Target: string; var Handled: Boolean; var CloseMsg: Boolean; var MsgResult: TDamMsgRes) 이 이벤트는 메시지에 포함 된 링크를 클릭하면 트리거됩니다.
기본적으로 Windows API의 ShellexEcute를 사용하여 링크 대상이 자동으로 열리므로 대상이 웹 링크 인 경우 기본 브라우저가 링크를 열거나 대상이 시스템 파일 인 경우 경로가 Windows에 의해 실행/열립니다.
이 동작을 우회하려면이 이벤트를 사용하고 True로 Handled 하십시오. 메시지 창을 닫으려면 CloseMsg true 및 MsgResult 플래그로 설정할 수도 있습니다.
OnShowMessage(Sender: TObject; Msg: TDamMsg; var MsgText: String; var Handled: Boolean; var MsgResult: TDamMsgRes) 댐 메시지가 표시되기 전에 발사되어 처리 된 매개 변수를 사용하여 메시지를 가로 채고 메시지 표시를 우회 할 수 있습니다.
경고! 예외 메시지를 우회하는 경우 구성 요소는 예외가 발생하지 않으며 코드 실행을 계속합니다 (이벤트 절차에서 자신의 예외를 생성하지 않는 한).
Button1: String = 메시지 대화 상자에서 버튼 1의 캡션. 버튼 = DBONE/DBTWO/DBTHREE를 사용할 수 있습니다.
Button2: String = 메시지 대화 상자에서 버튼 2의 캡션. 버튼 = dbtwo/dbthree 일 때 사용 가능합니다.
Button3: String = 메시지 대화 상자에서 버튼 3의 캡션. 버튼 = dbthree 일 때 사용할 수 있습니다.
Buttons: TDamMsgButtons = 메시지 대화 상자에서 버튼을 정의합니다.
CustomIcon: TIcon = 메시지 대화 상자에 표시 할 사용자 정의 아이콘을 정의합니다. 이 아이콘은 icon = dicustom 일 때만 표시됩니다.
CustomTitle: String = 메시지 양식에 대한 사용자 정의 제목을 정의합니다. 이 캡션은 Title = dtCustom 만 사용됩니다.
Dam: TDam =이 메시지의 댐 컨테이너를 정의합니다.
FixedWidth: Integer = 메시지 창에서 텍스트 부품의 고정 너비를 픽셀로 정의합니다. 이 값이 0 (기본값)이면 메시지 텍스트에 따라 창 너비가 자동으로 계산됩니다. 메시지 양식에 최소 및 최대 고정 한계가 있습니다 (최소 = 300px / 최대 = 화면 너비의 75% - Android 또는 iOS, 화면 너비의 최대 = 95%) .
HelpContext: THelpContext = help 컨텍스트를 정의합니다. 이 속성이 정의되면 메시지 대화 상자에 도움말 버튼이 표시되고 컨텍스트 대상에서 응용 프로그램 도움말을 엽니 다. F1 키를 사용할 수도 있습니다.
HelpKeyword: String = help 키워드를 정의합니다. 이 속성이 정의되면 메시지 대화가 도움말 버튼을 표시하고 키워드 대상에서 응용 프로그램 도움말을 열면 응용 프로그램이 있습니다. F1 키를 사용할 수도 있습니다.
Icon: TDamMsgIcon = 메시지 대화 상자에서 아이콘을 정의합니다.
Message: String = 메시지 텍스트. 텍스트 서식을 위해 메시지 마법사 제작자를 사용하거나 htlabel 문서를 읽으십시오. 교체 할 수있는 매개 변수는 메시지 텍스트에서 %p 로 정의됩니다. 메시지 텍스트에 지정된 것과 동일한 순서로 메시지 메소드의 배열에서 매개 변수를 사용하십시오. 또한 현재 예외 메시지를 포착하고 메시지 텍스트 의이 변수를 교체하려면 리터럴 {except} 를 지정할 수도 있습니다 (예외 예를 참조하십시오).
Name: String = 메시지 객체 이름. 이름이 _ 문자로 시작하면 메시지가 숨겨져 있음을 의미하므로 델파이는 메시지가 같은 이름을 가진 메시지를 호출 할 때이 객체를 호출한다고 생각하지 않습니다.
RaiseExcept: Boolean =이 메시지를 올리 메시지로 설정하십시오. 이 메시지를 호출하면 메시지 텍스트로 예외가 제기됩니다. 이 경우 handleExceptions = true와 함께 하나 이상의 TDAM을 사용해야합니다. 그렇지 않으면 메시지가 댐 사용자 정의로 형식화되지 않습니다.
SwapFocus: Boolean = 기본적으로 메시지가 발사되면 항상 왼쪽의 첫 번째 버튼은 초점으로 시작됩니다. 이 옵션을 활성화하면이 메시지는 마지막 버튼 (오른쪽 버튼)에서 초점을 시작합니다.
Title: TDamMsgTitle = 메시지 양식 제목을 정의합니다
모든 메시지 매개 변수는 구성 요소에 의해 자동으로 "탈출"됩니다.
예 :
procedure Test1 ;
begin
MyCustomMessage([ ' This will display <b> literal string ' , ' This will display "%p" literal string ' ]);
end ;
procedure Test2 ;
begin
MsgInfo( ' <b>First message parameter</b>: %p ' , [ ' Here I want to display literal <> characters ' ]);
end ;%p 및 {except} )을 갖춘 HTML 표기법입니다.고정 메시지 부분에 HTML 리터럴 문자를 표시하려면 DZHTMLTEXT 문서에서 탈출 상수를 확인하십시오.
procedure MsgInfo ( const Msg: String; const Params: TDamParams = nil ); // message with Information icon
procedure MsgWarn ( const Msg: String; const Params: TDamParams = nil ); // message with Warning icon
procedure MsgError ( const Msg: String; const Params: TDamParams = nil ); // message with Error icon
function MsgQuest ( const Msg: String; const Params: TDamParams = nil ): Boolean; // message with Question mark icon
procedure MsgRaise ( const Msg: String; const Params: TDamParams = nil ); // message with Error icon (this raises an exception)
procedure ShowErrorMsg ; // show current error message
function CaptureErrorMsg : String; // get current error message 이 방법은 전 세계적으로, 단위 DamUnit 또는 DamunitName 속성에 지정된 단위 이름으로 제공됩니다.
코드에 빠른 메시지를 직접 표시하면 원하는 메시지와 매개 변수를 입력 할 수 있습니다.
이 방법은 기본값 으로 정의 된 TDAM 컨테이너를 사용합니다. 따라서
DamDefault속성을 사용하여 TDAM 을 사용할 수있는 하나의 TDAM이 있어야합니다.
함수 MsgQuest 결과 yes 버튼을 누르면 버튼을 누르지 않은 경우 False를 반환합니다.
ShowErrorMsg 방법은 현재 예외를 보여줍니다. 이것을 시도로 사용할 수 있습니다 .. Excrect 블록.
함수 CaptureErrorMsg 사용하면 현재 예외에서 오류 메시지를 얻을 수 있습니다. Try .. Excrect Block에서 이것을 사용해야합니다.
예외 캐치 예 :
try
DoSomeStuff;
except
ShowErrorMessage; // will show error message dialog using Dam concept
end ; try
DoSaveFile;
except
MsgError( ' Fatal error saving file: %p ' , [CaptureErrorMsg]);
end ; 메시지 텍스트에서 리터럴 {except} 지정하면 현재 오류 메시지로 대체됩니다.
try
DoSaveFile;
except
MsgError( ' Fatal error saving file: {except} ' ); // don't need to use CaptureErrorMsg function!
end ;예외를 다시 만들 수도 있습니다.
try
DoSaveFile;
except
raise EDam.Create( ' Fatal error saving file: {except} ' ); // re-raise a new exception with better text message
end ; 댐 메시지 객체에서 RaiseExcept 매개 변수를 설정할 수 있으므로 메시지가 호출되면 예외가 제기됩니다.
기억하십시오 : 댐 자원을 활용하려면 댐 컨테이너 객체에서 HandleExceptions 설정해야합니다. 예외가 제기되면 Dam 은이 예외를 가로 채고 사용자 정의 대화 상자를 표시합니다.
예 :
procedure TestException_Generic ;
begin
raise Exception.Create( ' This is my generic exception ' );
// HTML tags are NOT allowed when using generic exception
end ;
procedure TestException_DamRunTimeCreation ;
begin
raise EDam.Create( ' This is my <b>exception</b> with parameter %p ' , [ ' First parameter ' ]);
end ;
procedure TestException_DamDesignTimeCreation ;
begin
raise EDam.Create(MyCustomMessage, [ ' First parameter ' ]);
// MyCustomMessage represents a TDamMsg object created at design-time
end ;
procedure TestException_DamDesignTimeCreation_ByProperty ;
begin
_MyCustomMessage.Run([ ' First parameter ' ]);
// or
MyCustomMessage([ ' First parameter ' ]);
// MyCustomMessage represents a TDamMsg object created at design-time with property RaiseExcept=True
end ;
procedure TestException_Quick ;
begin
MsgRaise( ' This is my <b>exception</b> with parameter %p ' , [ ' First parameter ' ]);
// This method is for compatibility, but I recommend you to use "raise EDam.Create" instead.
end ;Damlang.ini (Resources Folder)라는 파일이 있으며, 여기에는 구성 요소에 모든 문자열이 사용됩니다. 이 파일에서 일부 텍스트를 변경하려면 그 후 " Dam Resource.bat "을 실행해야합니다. 이 배치는 루트 구성 요소 폴더에서 새 파일 " dam_resource.res "를 만듭니다.
그런 다음 " AfterBuild.bat "을 실행 하여이 새로운 리소스 파일을 "lib"폴더에 게시하십시오.
새로운 언어를 추가하려면 코드의 일부 변경이 필요합니다. 따라서 새 문제를 열고 원하는 언어 문자열을 게시 한 다음 구성 요소에 적용하겠습니다.
XE8 아래 Delphi 버전을 사용하는 경우 Tdamparams 매개 변수가 포함 된 모든 댐 방법에서 동적 배열 매개 변수를 직접 전달할 수 없습니다.
이 경우 글로벌 기능 DamParams 사용하십시오. 이 기능은 DAM 자동 생성 장치에서도 사용할 수 있습니다.
따라서이 버전에서 댐 메시지 메소드를 사용하는 방법에 대한 몇 가지 예는 다음과 같습니다.
// Quick message:
MsgInfo( ' This is a test message with parameter value = %p ' , DamParams([ 999 ]));
// Custom message:
MyCustomMessage(DamParams([ ' Parameter 1 ' , ' Parameter 2 ' ]));이 구성 요소의 디자인은 2005 년경에 내 응용 프로그램에 대한 표준화 된 대화 상자를 만들 필요가 있는지 확인했습니다.
당시 나는 포르투갈어에서 DM ( Diálogo Melhor )이 될 "더 나은 대화"의 구성 요소를 불렀습니다.
잠시 후, 프로젝트에는 컨테이너가 포함 된 새로운 구조가 포함되었습니다. 그런 다음 포르투갈어에는 댐 ( Diálogo Ainda Melhor )이있는 "더 나은 대화"로 구성 요소를 바꿨습니다. ?
따라서 구성 요소의 이름은 결국 댐으로 유지되었습니다.
오늘 저는이 구성 요소를 거의 모든 델파이 응용 프로그램에서 사용합니다.