Q&A

  • [질문]DSPack 에서 DSVideoWindowEx 를 이용할때
항상 질문만 하는 군요....이궁..

듀얼모니터를 상에서 DSPack 의 DSVideoWindowEx 를 이용할때 문제가 생겼습니다.

2nd화면에 DSVideoWindowEx에서 영상이 비추어지질 않네요..

개발환경(노트북)에서는 잘 되었는데  적용하려니 PC에서 도통 말을 안듣습니다.

1st 모니터에서는 잘 됩니다.  요걸 2nd화면으로 옮기면 블랙화면이 됩니다.
다시 1st화면으로 창을 옮기면 나오고요...

DSVideoWindowEx가 2nd화면의 핸들을 얻어오지 못하는 것 같기도 하구요..

개발환경에서는 그래픽이 Radeon 9200이였습니다만
적용 장비는 Radeon HD 3200 인데, 요기서 안되는 겁니다.

데모프로그램 소스에 보면

  // --------------------------------------------------------------------------------------
  // This is a workaround the problem that we don't always get the EC_CLOCK_CHANGED.
  // and because we didn't get the EC_CLOCK_CHANGED the DSTrackbar and  
  //  DSVideoWindowEx1
  // didn't got reassigned and that returned in misfuntions.
  FilterGraph1.Active := False;
  FilterGraph1.Active := True;
  // --------------------------------------------------------------------------------------

  FilterGraph1.RenderFile(FileName);
  SoundLevel.Position := FilterGraph1.Volume;
  FilterGraph1.Play;

라고 주석이 있기는 한데 과연 요것때문일까요?  
TVideoWindow   를 이용하여 만들어보면 위의 EC_CLOCK_CHANGED 이벤트가 발생하지만
주석처럼 DSVideoWindowEx에서는 EC_CLOCK_CHANGED 이벤트가 발생하지 않습니다.

만일, 1st화면에서 띄운 영상핸들을 2nd 화면으로 전달하지 못한다면, 아예 처음부터
2nd화면으로 핸들을 초기화하여 띄울 수는 없을까요?
(프로그램 화면 자체만을 2nd화면에 띄워서는 해결할 수 없었습니다.)

아니면, 2nd화면으로 가면서 잃어버린 핸들을 강제로 Setting할 수는 없을까요?

만일 이것도 저것도 안되면 TVideoWindow라도 사용하면 될텐데...
요넘을 쓸경우에는 Fullscreen시 1st 화면으로만 갑니다.
Fullscreen이 2nd 화면으로 가질 못하니 그럴 수도 없고....

어떤 방법이 있을까요?
2  COMMENTS
  • Profile
    루루 2008.05.29 04:36
    답답해서 progdigy.com 을 뒤져 봤더니 비슷한 어려움을 겪은 케이스가 있었네요만, 그 해결책에 대한 답변은 없군요.
    그렇다면 Ati 라데온 비디오카드 쪽에 문제가 있고, 지포스 계열에서는 문제가 없다는 건가요? 헐....어찌해야 할른지....

    Posted: Tue Feb 07, 2006 11:17 pm Post subject: FullScreen Problem With TVideoWindow Control

    I'm developing a vide application. I asked a few questions here about picture overlay on the video, I did everything, and it works perfect, BUT, I was testing my application on nVidia GForce 2 with 64 MB of memory. I tested it in two monitors mode, and on the secondary monitor I need only video to be shown, so I configured Video Card settings & it works perfect, and when I bougth it to the person, for whom I'm writing it, it doesnot work... He has Ati Radeon video kard, I configured it as my nVidia, and it works for all other video Applications but not for mine, than I tested there application with DSVideoWindowEx and it works, but I can't draw on that, I can draw and overlay bitmaps only on TVideoWindow....

    Can Anybody Help Me? Why doesn't it vork on Ati video card?
  • Profile
    루루 2008.06.04 04:36
    ATi 라데온의 듀얼모니터 Threater 기능때문에 DSPACK234의 일부기능이 오작동 하는 것 같습니다.
    지포스 계열로 비디오카드를 모두 바꾼것으로 일단 넘어갔습니다.

    DirectX도 , DSPACK도 속을 모르고 걍 불러다 쓰는 수준이라 해결치 못한것이 못내 아쉽네요....

    DirectX10에서도 몇가지 뜻대로 되지 않는 것이 있던데, 이것은 DSPACK이 DirectX10에 대하여 재작업이 이루어지지
    않음 때문인것 같네요.... 아님 내 실력이 모자라던가....
    • 유경민
    • 2008.05.29 07:06
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.05.29 13:53
      http://www.codegear.com/downloads/regusers/delphi http://download.borlandforum.com/delphi/Delph...
    • 구창민
      2008.05.29 20:22
      이곳 자료실에 가셔서 'delphi 6' 으로 검색해보시면 두개의 업뎃팩을 보실 수 있을겁니다. 즐거운 프...
    • 유경민
      2008.06.03 06:56
      감사합니다~
    • 홍성락
      2008.05.29 04:56
      delmadang에 [민성기]님이 올리신 소스가 있어요. 질문과 답변 {[추가] 프린터 추가 마법사~ ^^} 제목입...
    • 공성환
      2008.05.29 00:55
      FormatFloat 함수를 이용하셔도 될것같은데요... ShowMessage(FormatFloat('#,##0.0',7.0));
    • 강태원
      2008.05.29 02:31
      앗.... 그런 함수도 있군요!! 잘 동작 하네요. 알려주셔서 감사합니다.^^
    • 석주현
      2008.05.29 13:59
      전 주로 그냥 format 함수를 사용합니다. format('%2.1f',[7.0]); 보통 C 에서 쓰는 printf 와 비...
    • 강태원
      2008.06.10 02:52
      소나기님이 알려주신 방법도 좋을듯 하네요. 진작 알았으면 사용해 보는건데... 다음 프로젝트때 ...
    • 루루
    • 2008.05.28 04:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 루루
      2008.05.29 04:36
      답답해서 progdigy.com 을 뒤져 봤더니 비슷한 어려움을 겪은 케이스가 있었네요만, 그 해결책에 대한 답...
    • 루루
      2008.06.04 04:36
      ATi 라데온의 듀얼모니터 Threater 기능때문에 DSPACK234의 일부기능이 오작동 하는 것 같습니다. 지포...
    • 홍성락
    • 2008.05.29 00:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 화이팅
    • 2008.05.28 00:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2008.05.28 01:40
      안녕하세요.. MDI 프로젝트에 대한 개념을 잡는 것이 먼저인것 같습니다.. 아래 내용을 숙독하시면...
    • steps
      2008.05.28 08:11
      제가 잘못 리해하지않았는지. 혹 string이나 widestring을 utf8로 남기는게 목적이라면 델파이의 UTF8Enc...
    • 이정욱
      2008.05.27 13:55
      아마 컴포넌트가 제데로 설치 되지 않은것 같습니다. 설치 방법이 있는 텍스트 파일을 잘 읽어보시고 ...
    • 석주현
      2008.05.27 15:51
      정확한 에러 메세지를 알려 주셔야 말씀을 드릴 수 있을 것 같습니다. 일단 이정욱님 말씀처럼 컴포넌...
    • steps
      2008.05.27 19:56
      저는 제오스6.61베타를 쓰는데요. 일단 packages 폴더안에서 component.dpk를 찾아 컴파일하고 그 다음...
    • 이정욱
      2008.05.27 13:56
      마이빌더가.. 뭔가요? ^^; 어디서 볼수 있는것인지.. 또 어떤프로그램인지 알아야 도움을 드릴 수 있을 ...
    • 가을바람
      2008.05.27 18:26
      덕분에 마이빌더가 뭔지알겠되었네요.. 좋아보이네요.. "마이빌더"로 검색해보시길.. 개발사홈피보면 델...
    • 이정욱
      2008.05.27 13:59
      코드로는 알려드리기가 힘들지만... XML 은 기본적으로 델파이에서 파싱이 가능합니다. XML을 읽어서....
    • 최용일
      2008.05.27 00:44
      uses절에 windows유닛을 추가하세요. CreateMutex함수는 windows유닛에 있습니다.
    • dbwrite
      2008.05.30 05:33
      예전에 CreateMutex를 이용하여 처리 하다 중복으로 실행 (프로그램을 잘못짜서그런지 )되는경우가 있어 ...
    • 최용일
      2008.05.26 20:03
      xFrame, yFrame 변수가 nil인지 체크해보세요...
    • 미닛메이드
      2008.05.26 20:35
      변수가 nil이란것이 정확히 어떤것인지 모르겠네요;;; frame에서 변수라는것이 정확히 어떤것이죠?
    • 깔쌈보이
      2008.05.26 20:50
      xFrame, xForm <= 이 것 역시 변수라고 볼 수가 있습니다. 근데 설마, xFrame, xForm이 클래스 명칭...
    • 미닛메이드
      2008.05.26 23:11
      type TfrmChat = class(TTntForm) //위에서 말한 xForm 클래스 구현부분 fmChatRo...
    • 미닛메이드
      2008.05.26 23:12
      xForm, xFrame, yFrame 등은 파일이름입니다. fmChatRoom 은 폼 이름
    • 이정욱
      2008.05.26 23:41
      위의 질문에서는 사실 잘못된 점을 꼬집어 드릴수 없을것 같습니다. 엑세스 바이올레이션 에러는 선언...
    • 한상훈
    • 2008.05.26 09:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.05.26 11:12
      질문이 잘 이해가 안가지만.. 아이템의 StateIndex 값을 조절 하시면 됩니다.
    • 한상훈
      2008.05.26 22:47
      예를들어 ListView1.SmallImages:=ImageList1; ListView1.StateImages:=ImageList1; 여기서 Imag...
    • 김병윤
      2008.05.25 01:16
      그냥 윈도우에 작업을 등록해서 사용하시면 될 듯 보이는데 굳이 델파이 코드로 등록을 해야할까요? 제...
    • steps
      2008.05.25 01:28
      앞으로의 배포문제를 념두에 두고 저에게 준 과제입니다. 사용자보고 인스탈후에 제어판의 scheduled ta...
    • 김병윤
      2008.05.25 02:08
      어차피 인스톨한 어플에서 등록을 하더라도 윈도우 스케줄러에 등록하려면 로그인 계정이 누구인지 알고...
    • steps
      2008.05.25 03:46
      당장은 가르쳐주신대로 콘솔호출방식을 리용하렵니다. http://www.Planet-Source-Code.com/vb/scripts/S...
    • 이정욱
      2008.05.25 09:09
      배포하시기에 더 좋은 방법은 그 어플리케이션을 서비스 형태로 만드셔서 특정시간에 쿼리를 수행하게 하...
    • 구창민
      2008.05.26 06:36
      안녕하세요..아래 내용을 참고 하세요... unit Unit1; interface uses Windows, Messages,...
    • steps
      2008.05.27 00:34
      이종욱님 구창민님 정말 감사합니다. 귀한 시간 내시여 래핑까지 해주신 창민님께 다시 한번 인사드립니다.
    • • • •
    • 이정욱
      2008.05.24 20:28
      Implementation 위쪽에 선언해주세요 ^^ 밑쪽에 있으면, 그 유닛 안에서만 참조가 가능합니다.
    • 이정욱
      2008.05.25 00:32
      BDE는 제가 오랫동안 안해서.. 기억이 하나도 나질 않네요.. 시간이 좀 있으시다면 ODAC 라는 써드파...
    • 강신구
    • 2008.05.23 23:13
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2008.05.23 23:25
      안녕하세요.. 아래와 같이 설명되어 지구 있습니다.. ◇ DLL에서의 전역변수 DLL에서 선언된 전...
    • 강신구
      2008.05.23 23:36
      답변에 감사드립니다.. 한가지 더 문의 드리고 싶은데요.. 아래 설명에 따르면.. 제가 문의드린 내용...
    • 구창민
      2008.05.24 02:03
      음.. DLL 내의 전역변수를 쓰레드에서 다루어 본적이 없어서 ..쩝.. 간단한 문제가 아닌거 같네요.. ...
    • steps
      2008.05.24 00:05
      질문에 1번이 작업 종료후의 aaa 값을 리턴 받아 봤는데.. 값이 초기화 되어 있었습니다.. 라고 되여있...
    • 김원기
    • 2008.05.23 00:11
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.05.23 08:40
      지금 열려 있는 코드들이 어디에 저장되어 있는지 확인해 보세요. 혹시라도 프로젝트를 카피해서 다른 ...
    • 머문자리
      2008.05.26 18:19
      흠.. 저도 소스를 복사해서 업데이트 하다가 원본실행파일만 실행시킨 어처구니 없는 일들이 기억이 나네...
    • 김원기
      2008.06.18 20:13
      감사 해요. 감사 합니다. 이제야 감사하다는 말을 남기네요 ㅠㅠ 바뻐서.. 나중에 남긴다는 말을.....