일단 화면과 컨트롤 그리고 이벤트가 정의된 부모폼 a가 있습니다.여기에 gif이미지와 백그라운드워커가 정의되어 있습니다 그리고 조회버튼 클릭 이벤트함수도 정의되어 있습니다
그리고 a를 상속받는 b c d가 있습니다 여긴 특별한거 없이 컨드롤 내용만 좀 바꿉니다
그리고 b c d 들을 상속받는 f가 수백개가 있습니다
f에는 각 컨트롤에 값을 넣어주고 그 값들로쿼리를 만들어서 던지는 함수와 그리드에 바인딩하는 함수가 있습니다 f의 위에서 말한 쿼리를 던지는 함수는 a부터 상속받은 이벤트함수를 오버라이딩한 함수입니다
제가 요구받은것은 이 각 f페이지마다 조회가 비동기식으로 가능하게 하는것입니다
단순히 f를 수정하면 쉽겠지만 그러면 수백페이지를 수정해야하는 상황이라 가능한한 A를 수정해야할것 같습니다
조건은 조회중 gif이미지가 정상적으로 움직여야한다 조회는 비동기식으로 되어야한다입니다
제가 구현해본 방법은
A에서 이미지 선언 클릭이벤트시 백그라운드워커를 호출하는 함수 백그라운드워커를 호출하는 함수상에서 이미지 활성화후 백그라운드워커의 dowork함수 호출 Dowork함수상에서 f의 조회함수호출(invoke) 이런식으로 구현했으며 위 내용은 전부a상의 내용입니다 다른 폼은 수정하지 않았습니다
이렇게 구현하고 실행하면 이미지가 뜨고 조회가 되는건 정상적으로 동작하나 이미지는 움직이지 않고 조회또한 비동기로 되지 않습니다 조회동안 컨트롤들이 먹통이됩니다
음
질문이 너무 부실한데 요약하면
상속받은 자식폼이 조회를 할때 부보폼상의 백그라운드워커가 자식폼의 함수를 호출하면 크로스쓰래드 오류가 나니까 invoke를 하는데 이때 invoke를 하면 실제 화면상에서는 비동기가 아닌 동기화방식의 조회가 됩니다
이때 비동기화가 가능한 방식의 invoke사용법이 있는지 아니면 구성자체가 잘못된건지 궁금합니다
음......모바일이라 장문쓰기도 자세히 쓰기도 힘들군요 무슨 소리인지 잘 모르시겠지만 막연한 개념이나 방법론 같은거라도 생각나시는 분이 있다면 부탁드립니다