rtti

    6

    2답변

    "간단한"속성 (ints/enums/strings 등)에 액세스하는 데 Delphi RTTI 사용에 익숙하지만 Array 속성을 사용하여 작업하는 방법을 파악할 수 없습니다. GetPropValue/SetPropValue 호출에 해당하는 배열을 찾기 시작했습니다. 나는 이것들과 비슷한 것을 보길 원하지만 여분의 "index"매개 변수를 취할 것이지만 typ

    2

    4답변

    Delphi에서 객체를 XML로 구문 분석하려고하므로 객체의 ClassInfo 메소드를 호출하여 RTTI 정보를 가져 오는 방법에 대해 읽습니다. 이것은 분명히 TPersistent 개체에서만 작동합니다. 그렇지 않으면 RTTI 정보를 생성하기 위해 컴파일러 지시문 {$ M +}을 소스 코드에 특별히 추가해야합니다. 그래서 나는 지시어를 추가했습니다. Cl

    2

    3답변

    예를 들어,이 클래스가 (런타임에) 가상 생성자를 가지고 있는지 확인하는 방법이 있습니까? 작동 RTTI를 사용하여 예를 들어, procedure Test; var Clazz: TClass; Instance: TObject; begin Clazz := TMyClass; Instance := Clazz.Create;

    22

    6답변

    우리는 종종 동적 캐스팅을 피해야한다는 것을 듣고 읽습니다. 당신의 말에 따르면, '좋은 사용'의 예가 무엇인지 궁금합니다. 편집 : 예, 나는 that other thread 알고 있어요 : 그것은 참으로 내 질문을하는 것이이 첫 번째 답변 중 하나 읽을 때!

    0

    2답변

    C++에서는 문제가 간단합니다. 나는 2 개의 클래스를 가지고 있는데, 하나는 구현의 일부로 다른 클래스를 포함하고있다. struct A { void do_something() { }; }; struct B { A obj_A; void hello_world() { }; }; 이제

    6

    2답변

    델파이에서 RTTI (또는 다른 것)를 사용하여 클래스가 추상으로 선언되었는지 확인할 수 있습니까? 같은 뭔가 다음 TypInfo 장치를 통해이 TMyAbstractClass = class abstract(TObject) // ... end; ... if IsAbstract(TMyAbstractClass.ClassInfo) then

    4

    5답변

    Visual Studio를 사용하고 있으며 유효한 동적 캐스팅을 수행하고 있습니다. RTTI가 활성화됩니다. 편집 : struct base { virtual base* Clone() { base* ptr = new base; CopyValuesTo(ptr); return ptr; } vi

    4

    3답변

    각 클래스가 특정 TComponent 자손 (예 : TComponent, TCustomAction 및 TMenuItem에 해당하는 자손 TAductFrobber 및 TMenuItemFrobber로 기본 클래스 TDefaultFrobber를 말함)에 해당하는 작은 클래스 계층 구조가 있습니다. (?) : function CreateFrobber(ACompon

    8

    2답변

    나는 임베디드 OS에 대한 예외 처리를 구현하려고하는데, 적절한 예외 처리기를 선택하기 위해 던져진 "예외"유형을 탐지하는 방법에 주저하고있다. 절약 및 예외 처리의 복원 상황에 맞는 부분은 이미 완료,하지만 난 던져 '예외'의 유형을 감지 할 수 없기 때문에 나는 특정 핸들을 가질 수 없습니다. C++의 표준 RTTI 구현은 다른 라이브러리에 너무 의존적