이미이 문제에 대한 해결책을 찾았으므로 나에게 도움이되는 제안이 없으므로 놓친 것이 있거나 잘못되었습니다.Delphi 패키지 리소스 - EResNotFound
필자는 Delphi XE2 응용 프로그램 내에 다수의 패키지를 보유하고 있습니다.이 패키지 중 몇 개의 패키지에는 궁극적으로 PNG 이미지 인 RCDATA 리소스가 포함되어 있습니다.
리소스를 사용하는 컨트롤은 Delphi XE2 디자이너에서 정상적으로 작동합니다. 리소스는 예상대로로드되고 그려집니다. 응용 프로그램이 실행될 때, 내가 할
handle := FindClassHInstance(Self.ClassType);
fPlaneImage := TPngImage.Create;
fPlaneImage.LoadFromResourceName(handle, 'IDC_IMG_PLANE');
그리고 : I 패키지/제어가 사용되는 주요 응용 프로그램을 실행 올 때 제어 시도 리소스 항목을로드 할 때, 나는 EResNotFound 예외 제시하고있어 다음과 같은 오류 : 나는 디버거에서 continue
을 치면
Project PinPoint.exe raised exception class EResNotFound with message IDC_IMG_PLANE not found'.
그리고, 나는 다음 얻을 : 나는 핸들의 모든 변형을 전달하려고했습니다
Project PinPoint.exe raise exception class EPNGCouldNotLoadResource with message 'The png image could not be loaded from the resource ID.'.
fPlaneImage.LoadFromResourceName(HInstance, 'IDC_IMG_PLANE');
fPlaneImage.LoadFromResourceName(GetModuleHandle('AppCore.bpl'), 'IDC_IMG_PLANE');
fPlaneImage.LoadFromResourceName(FindClassHInstance(Self.ClassType), 'IDC_IMG_PLANE');
그러나 모두 동일한 예외가 발생합니다.
모든 리소스가 포함 된 독립 실행 형 패키지를 만드는 것이 더 쉬운지 고려한 다음 각 리소스가있는 각 패키지보다는 프로젝트 내의 다른 패키지 각각에서이 리소스를 참조하는 것이 더 쉬운지 고려했습니다. 이것이 실제로 효과가 있을지에 관해서.
누구든지 조언을 제공 할 수 있습니다.
오류 메시지는 꽤 분명하지? –
@DavidHeffernan, 글쎄, 나는 리소스가 존재한다는 것을 제외하고는 그렇게 가정했을 것이다. – weblar83
오류 메시지에 다른 의미가 있습니다. –