2014-10-21 1 views
1

OOP에 관한 질문이 있습니다. 나는 델파이에 처음 온 것이 아니지만, 주로 인터넷을 통해 스스로 배웠으며 "올바른"방식으로 배웠다. 몇 주 전에 OOP를 살펴보기 시작했습니다. 그래서 이것은 내 문제입니다. "Session"이라는 클래스가 있습니다. 이 클래스는 Visual 라이브 바인딩을 통해 편집과 연결됩니다. 내 수업을 TClientDataset의 데이터로 채우고 싶습니다 (데이터 집합을 직접 수정하여 바인딩하지 않는 이유가 있음). 이제 2 가지 아이디어가 있습니다 : 1. 데이터 세트를 구현하고 파일 및 네비게이션을 여는 다른 클래스를 만듭니다. 2. 내가 끌어 ClientDataSet의 하나 내 양식을 삭제하고 다음과 같이 Livebindings 내 클래스에 연결 : 데이터 집합 < ---> 클래스 < ---> 편집LiveBinding 또는 OOP?

난 당신이 내 설명을 이해 바랍니다. 그래서 : 어떤 아이디어가 더 좋습니까? LiveBindings가 OOP 개념을 "파괴"한다는 느낌이 들었습니다. 반면에 라이브 바인딩은 저를 위해 코드와 타입 변환을 작성할 필요가 없습니다. 그래서 당신은 어떤 방법으로 선택하겠습니까? 아니면 누군가 다른 아이디어가 있습니까?

난 당신이 무슨 뜻인지 이해하고 나를 도울 수 : LiveBindings와

답변

1

이 개체 대신 데이터 세트에 바인딩 할 수 있도록 완벽하게 가능하다 바랍니다. 참조 : http://www.malcolmgroves.com/blog/?p=1084

요약 : TAdapterBindSource 구성 요소를 살펴보십시오. 기존 컨트롤과 사용자 지정 개체 사이에 라이브 바인딩을 만들기 위해 디자인되었습니다. onCreateAdapter 이벤트에서 하나의 특정 객체를 바인딩하거나 객체의 바인딩 목록을위한 TListBindSourceAdapter를 반환하려는 경우 TObjectBindSourceAdapter를 aBindSourceAdapter로 반환 할 수 있습니다.

라이브 바인딩과 OOP는 서로를 물지 않습니다!

+0

예, 링크 및 귀하의 desription 많이 도움이 :) – LuMa