2010-12-17 3 views
0

안녕하세요 설명해 드리겠습니다. 나는 큰 프로젝트를 진행하고 있으며, 많은 형태를 가지고있다. 많은 RAM을 사용하고 싶지 않아서 Action:=caFree을 사용하여 닫고 Application.CreateForm(TFrmX, FrmX)을 사용하여 양식을 닫을 때 양식을 손상 시키려고했습니다. 정상적으로 작동합니다. 이 응용 프로그램은 다중 언어이므로 외부 파일에서 양식 구성 요소 캡션과 텍스트를로드합니다. 폼을 만들 때마다 메모리에 파일을로드하고 문자열을 바꾸는 것 외에는 다른 선택의 여지가 없었습니다. 아시다시피 양식 작성을 조금 느리게 만들지 만 런타임시 클래스 자체를 변경하여 응용 프로그램로드시 캡션과 텍스트를 바꾸고 양식을 작성하면 응용 프로그램에없는 양식이 작성되면이를 대체합니다. 이와 같이 (예제만으로는 작동하지 않습니다.) : TfrmX.Label1.Caption := 'sth'클래스가 생성되지 않은 경우 메소드를 설정하는 방법은 무엇입니까?

어떻게해야합니까?

+0

Application.CreateForm : http://pages.cs.wisc.edu/~rkennedy/createform (http://stackoverflow.com/questions/2175253/how-do-i-avoid)을 참조하십시오. -to-call-application-createform-twice). –

답변

0

이 작업을 수행 할 수 없습니다. 당신이 제공 한 것과 같은 코드는 클래스 참조가 아닌 인스턴스에서만 실행할 수 있습니다.

+0

그래서 나는 무엇을해야합니까? – Javid

+0

@Javid 인스턴스를 만들고 해당 속성을 변경하십시오. –

+1

@Javid 또는 적절한 국제화 사용 –

1

델파이는 국제화를 지원합니다. 저는 여러분이 자신의 메커니즘을 시도하기보다는 이미 사용할 수있는 도구와 기술을 살펴 보는 것이 더 낫다고 생각합니다.

브루스 맥기 (Bruce McGee)의이 질문에 대한 답변을보십시오 ... 좋은 시작입니다.

Delphi and i18n

당신이 당신의 자신의 솔루션을 롤을 계속하고자하는 경우

다음, 내가 무엇을 할 의향이 될 것이다 단순히 만든 후 인스턴스에 텍스트 속성을 설정합니다.

2

델파이 지역화 유틸리티는 오히려 스파르타 이인이므로 http://dxgettext.po.dk을보고 싶을 수 있습니다. 우리는 여러 프로젝트에 사용하며 훌륭하게 작동합니다! 원하는 번역을 위해 평범한 텍스트 파일을 설치에 추가하기 만하면됩니다. 또한 사용자가 자신의 번역을 쉽게 만들 수 있습니다.

+0

dxgettext는 Delphi 로컬라이제이션 툴보다 훨씬 강력하고 방해 적입니다. –

관련 문제