developer tip

XE3에서 자동 업데이트로 라이브 바인딩 (XE2 에서처럼 Notify ()를 호출 할 필요 없음)

optionbox 2020. 11. 22. 19:21
반응형

XE3에서 자동 업데이트로 라이브 바인딩 (XE2 에서처럼 Notify ()를 호출 할 필요 없음)


저는 현재 Delphi XE2를 사용하고 있으며 XE3에서 새로운 Live Binding with Automatic 업데이트에 대해 들었습니다 (XE2에서와 같이 Notify ()를 호출 할 필요 없음).

C #에서 델파이 XE2에서 우리가 구현해야한다 INotifyPropertyChanged( Notify();델파이), 우리는 업데이트 될 내용을 완벽하게 제어 할 수 있습니다, 우리가 조정할 성능을 미세하고 쉽게 가상화를 구현할 수 있도록 때를 업데이트로이 방법은 정말 의미가 있습니다.

그러나 나는 그것이 어떻게 작동하는지, 그것을 구현하기 위해 어떤 종류의 메커니즘을 수행했는지 알고 싶습니다. 그들이 어떻게했는지 모르겠습니다. 다음은 자동 업데이트를 구현하는 데 사용되었을 수있는 가정입니다.

  1. 타이머 : 타이머가 자주 틱하고 모든 데이터를 새로 고칩니다.

    매우 느린 성능, 가상화 없음

  2. 컴파일러 수준 기능 : notify() events컴파일러에서 자동으로 구현되는 모든 관련 코드

    많은 오버 헤드

  3. Somme 다른 접근 방식 :

그들이 어떻게 그것을 구현했는지 확인하도록 도와주세요.

현재 XE3 평가판을 사용 중이므로 소스 코드에 액세스 할 수 없습니다. 귀하의 답변은 새 기능으로 전환할지 여부를 결정하는 데 도움이 될 것 입니다.
바인딩 할 400 개의 속성이있는 클래스 (컬렉션 항목)가 있으므로 (모든 항목이 항상 아님) 성능이 실제로 내 응용 프로그램의 안정성에 중요한 역할을합니다.


라이브 바인딩은 일부 이벤트를 기반으로 어떤 객체를 관심있는 다른 객체와 바인딩함으로써 발생합니다. 이것은 관찰자 패턴에 의해 발생하며, 이벤트 트리거가있을 때 개체 검사자에게 알림이 전송되고 검사자는 이미 등록 된 구성 요소에 변경 사항을 표시하도록 알립니다.

도움이 되었기를 바랍니다. 주위를 파고 싶다면 이것에 대한 많은 문서가 있습니다.

참고 URL : https://stackoverflow.com/questions/12658470/live-binding-with-automatic-updates-in-xe3-no-need-to-call-notify-as-in-xe2

반응형