사용자 정의 구성 요소를 삭제하고 모두는 다음과 같이 할 수 없습니다 내가 VCL과 FMX에 사용할 수있는이 방법으로델파이 드래그 나는 IDE에 대한 몇 가지 구성 요소를 작성했습니다
unit xxx;
interface
uses
System.Classes, System.SysUtils;
type
TMyClass = class(TComponent)
//code...
end;
implementation
end.
; 즉, 내 구성 요소를 사용하는 VCL win 프로그램과 FMX Android 앱을 만들 수 있습니다. 볼 수없는 코드는 클래스의 구현이지만 중요한 것은 아닙니다.
- VCL 프로젝트를 시작하면 구성 요소를 드래그 앤 드롭하여 사용할 수 있습니다.
- FMX win32 프로젝트를 시작하면 구성 요소를 끌어다 놓을 수 있습니다. 플랫폼을 Android로 전환하면 구성 요소가 그대로 유지되며 성공으로 컴파일 할 수 있습니다. 그건 그렇고 구성 요소를 드래그 앤 드롭 할 수 없습니다. 왜? 나는이 를 얻을 내가 플랫폼을 변경하는 경우
(예를 들어 안드로이드) :
포인트 2에서 나는 FMX의 Win32에서이 같은 구성 요소를 가지고 있다는 것을 의미
내가 뭘 잘못하고 있니? IDE> 도구> 옵션> 라이브러리로 이동하여 각 플랫폼에 대해 IDE에서 소스와 함께 .pas를 찾을 수있는 경로를 추가했습니다. 어떤 생각?
이상한 점은 FMX에서 필자는 구성 요소가있는 Android 응용 프로그램을 만들려면 플랫폼을 win32로 변경하고 구성 요소를 끌어다 놓은 다음 다시 Android로 변경해야한다는 것입니다. 구성 요소는 너무 잘 안드로이드에서 작동합니다. 드래그 할 수있을에서 구성 요소를 삭제합니다 이런 식으로
type
[ComponentPlatformsAttribute(pidWin32 or pidAndroid)]
TTestComponent = class(TComponent)
//...
end;
:
Mybe는'TLang' 컴포넌트를 의미합니다. – Sami
비주얼 컴포넌트로 숫자 클래스를 구현하는 것은 여전히 큰 실수입니다. 'TObject'에서 파생하여 모든 문제를 해결하십시오. –
[Views] (http://docwiki.embarcadero.com/RADStudio/en/Using_FireMonkey_Views)를 사용하고 있습니까? 구성 요소를 마스터보기 또는 Android보기에 놓으시겠습니까? 또한 구성 요소를 ['ComponentPlatforms'] (http://docwiki.embarcadero.com/Libraries/en/System.Classes.ComponentPlatformsAttribute) 속성으로 표시해야 IDE에서 구성 요소가 실제로 지원하는 플랫폼을 알 수 있습니다 . –