Q&A

  • TImage 에서 Scan line index out of range 오류 발생.(Delphi2007)


델파이4로 쓰던 TImage를 델파이 2007로 변경하고 있는데요..

어떤 TImage는 Copy로 2007에 붙여도 괜찮고요..

어떤건 아래와 같은 오류가 발생합니다.

첨부파일과 같은 오류가 발생 합니다.
(Scan line index out of range)

아시는분 답변좀 부탁 드립니다.



1  COMMENTS
  • Profile
    홍성락 2008.10.23 04:42
    아마! 인덱스가 넘는다는 건데요. 소스상에서 ...Bitmap.Scanline[인덱스]의 소스를 디버깅 해보세요.
    혹, 루프에서

    for i := 0 to pBitmap.Height-1 do //여기서 pBitmap.Height하면 위와 같은 에러도 뜹니다
    RowRotated := pBitmap.Scanline[i];

    또는, 다른 비트맵을 복사했다면 Scanline전에 높이나 폭을 맞춰주세요

    //BitmapOriginal는 원판 그림
    //BitmapCopy는 복사할 그림판
    BitmapCopy := TBitmap.Create;
    BitmapCopy.Width := BitmapOriginal.Width;
    BitmapCopy.Height := BitmapOriginal.Height;
    BitmapCopy.PixelFormat := pf24bit;


    • TOMATO
    • 2008.10.24 19:26
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.10.24 19:34
      Test.exe 핸들을 가지고 메시지를 보내면 되지 않을까요.
    • 정경철
    • 2008.10.24 05:13
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.10.24 16:49
      pChar 말고 로컬 변수로 Array of Char[크기] 로 선언 후 사용해 보세요. 알아서 관리 됩니다. ^^
    • 이정욱
      2008.10.24 16:50
      사실 위의 에러에 관련된 부분은 윗 부분의 소스만을 가지고는 판단하기 어려울 것 같습니다.
    • 정경철
      2008.10.24 19:00
      DLL 함수 원형에 파라미터값이 char *out_print_flag 이처럼 되어 있어서 델파이에서 PChar 로 받...
    • 이정욱
      2008.10.24 19:55
      제 뜻이..그거였습니다. ^^ Array[크기] of Char...
    • 이정욱
      2008.10.24 16:54
      보통 Timeout 속성을 설정하고 사용하게 되죠.. 혹시 .socket.close 는 사용해 보셨나요?
    • 이승현
      2008.10.28 21:47
      넵 다 안됩니다. ㅜ.ㅜ
    • 아르스
    • 2008.10.24 03:06
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 아르스
      2008.10.24 03:20
      ExtractICon(HInstance, 'C:\icon.dll', 0); 이런식으로 뽑아서 쓰면 되네요 ^^
    • 아르스
      2008.10.28 18:48
      음... 뭐가 문제인지 몰라도 아이콘이 추출되었다 안되었다 하는거 같네요..
    • TOMATO
    • 2008.10.24 00:00
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.10.24 00:28
      예외처리라고 쓰인 부분에서 하시는것이 아니라 TSaveDialog.Execute에서 하시는것이 맞습니다. if Save...
    • 장진환
      2008.10.24 01:10
      if SaveDialog1.Execute = mrOK then // OK 버튼을 눌렀을 때... if SaveDialog1.Execute = true the...
    • 최용일
      2008.10.24 02:19
      이런... 실수했군요... ^^
    • 황성일
    • 2008.10.23 02:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • phono
      2008.10.23 21:56
      기본 데이터 컨트롤에 있는 그리드로는 안되구요.. 그래서 그리드보다는 db 컨트롤 그리드가 마련되...
    • 소울해커
      2008.10.24 02:06
      DBGrid 안에 라디오버튼을 넣으실려면 상당히 복잡합니다. 대충 그려보면 private rdFirst,...
    • 장성호
      2008.10.23 00:38
      뭐 대부분 다음과 같이 하면 됩니다. WebBroswer1.OleObject.Document.ParentWindow.ScrollTo( Y ...
    • 이강석
      2008.10.23 00:46
      음....근데 Y, X의 좌표는 어디서 나오는건지 제가 무식해서~~ㅠㅠ
    • 장성호
      2008.10.23 01:07
      기냥 맨 마지막으로 보내려면 WebBrower1.OleObject.Document.DocumentElement.scrollTop :=20000000...
    • 이강석
      2008.10.23 01:56
      음..위에처럼 엄청 큰숫자를 줬어도..... 스크롤을 중간에다가 놓고... 저 조건을 타면 중간정도로...
    • 장성호
      2008.10.23 02:52
      테스트 해보니 Naver.com , daum.net ,paran.com 은 되구.. empas.com 은 안되구 http://ww...
    • 이강석
      2008.10.23 03:01
      아...^^ 넵 감사합니다...찾아볼꼐요...^^
    • 이강석
      2008.10.24 02:08
      OleDocument.body.scrollTop := OleDocument.body.scrollHeight; 이렇게 하니깐 되긴 되는데...제대...
    • 이정욱
      2008.10.25 09:06
      Fields Edit에서 아예 설정 하지 않으면 저절로 모든 필드가 세팅됩니다. 그렇게 사용하시면 될거 같은데...
    • 정경철
      2008.11.13 06:32
      Fields Edit에서 표시 형식이나... Excel 로 변환 할때 Field 순서등을 지정 하기 위에서 설정을 하였습...
    • 소울해커
      2008.10.24 01:41
      그리드에 piter 여부 사과 감 귤 001 Y ㅁ <-체크 ㅁ ...
    • 꼬꼬마
      2008.10.24 20:38
      감사합니다~~ 한가지 질문이 있는데요~~ grid.SetCheckBoxState(3, i, (grid.Cells[0, i] = '001')...
    • 소울해커
      2008.10.24 21:38
      grid.SetCheckBoxState(3, i, (grid.Cells[0, i] = '001') and (grid.Cells[1, i] = 'Y') ); grid.Se...
    • 꼬꼬마
      2008.10.25 00:00
      점심 식사는 하셨나요^^ 좋은 정보 많이 주시는데... 갑자하 하다가 궁금증이 생겨서요... 날...
    • 소울해커
      2008.10.25 00:47
      쿼리에서 날짜와 지역으로 DISTINCT 해서 불러오거나 GROUP BY로 불러오거나 ROWNUM 으로 중복값을...
    • 꼬꼬마
      2008.10.25 01:13
      근데요... 중복값을 제가한다는게... 어떻게 보면 중복값이 아니지 않나여? 날짜 ...
    • 소울해커
      2008.10.25 01:59
      셀병합을 말씀하시는 것 같은데... 그거라면 위에 쓴건 필요없구요. 일단 쿼리에서 정렬순서를 날짜...
    • • • •
    • 정경철
      2008.10.22 20:07
      이 메시지만 보면.. SQL 문장이 잘못 된것 같은데 SQL 조건절이나 ODBC를 다시 한번 확인 해 보십시오.
    • 가르쳐주삼
      2008.10.22 23:29
      ODBC 문제였네요~^^ 감사합니다.
    • 꼬맹이
    • 2008.10.22 19:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2008.10.23 04:42
      아마! 인덱스가 넘는다는 건데요. 소스상에서 ...Bitmap.Scanline[인덱스]의 소스를 디버깅 해보세요. ...
    • 정경철
      2008.10.22 20:05
      혹시..전송속도가 많지 않을 싶은데 전송속도를 한번 맞춰 보십시오. 보통 9600bps 로 되어 있는데 48...
    • 황성일
      2008.10.22 20:13
      9600bps로 해야지만 저렇게 숫자가 제대로 나오고요 나머지는 다 이상한 외계어 문자들이 찍히내요
    • 이정욱
      2008.10.22 20:55
      저것은 외계어가 아닌 프로토콜 상의 시작과 끝을 알려주는 문자 같습니다. 숫자가 제데로 들어오니까요....
    • 석주현
      2008.10.22 21:30
      개발사에 프로토콜을 의뢰 하시는게 맞을 겁니다. 달랑 저거 하나만 쓰는 경우라면 모르지만 보통 다...
    • 황성일
      2008.10.22 21:48
      아 답변들 감사합니다. 머라고 말하긴 점 그렇지만-.- 당황스럽게도 이 리더기 개발사 망했더군요;; ...
    • 장성호
      2008.10.22 05:18
      가능합니다. var fZoom: Double; // 축소하기 (Zoom-Out) procedure TForm1.Button2Click...
    • 이강석
      2008.10.22 18:48
      감사합니다...^^
    • 문형국
    • 2008.10.21 23:33
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2008.10.22 08:01
      이건 보통dll이 아니네요, Register에 등록 부터하여야 합니다. 델파이에서 'import Type Library'로 dll...
    • 문형국
      2008.10.30 10:58
      답변 감사드립니다. 시도해 보겠습니다. 꾸벅~
    • 이정욱
      2008.10.25 09:08
      TBX툴바에 대해 조금 더 자세한 정보를....
    • 아르스
      2008.10.27 20:38
      아... TBX가 Toolbar2000이(tb2k)이랑 서로 호환되지 않으면(패치를 했다손 치더라도) 이런 문제가 발...
    • 델파인
    • 2008.10.21 20:03
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.10.21 19:31
      간단하게 실행파일명 뒤에 파라매터를 추가하세요 Winexec('xxx.exe parameter1 parameter2', SW_SHOW...
    • 장성호
      2008.10.21 20:52
      WinExec보다는 ShellExecute 나 CreateProcess 를 이용하는것이 좋습니다. 참조 http://blog.naver...