JPEG를 TJPEGImage 배열에 할당 할 때 액세스 위반이 발생하는 이유는 무엇입니까?

학생
  Formulae: array [1..6] of TJPEGImage;

이미지를 양식에 표시 할 수 있도록 이미지를 할당하려는 배열이 있습니다. JPEG 데이터 스트림에서 TImage 질문에 유사한 코드를 사용 했지만 if 문에서 액세스 위반 오류 메시지가 나타납니다.

procedure Tfrm_calc2.ChangeDisplay(ImgNo: Integer; NewImage: Boolean);
var
  TempImg: TJPEGImage;
begin
  TempImg:= TJPEGImage.Create;
  TempImg.LoadFromFile('C2F'+inttostr(ImgNo)+'.jpg');
  img_Formulae.Picture.Assign(TempImg);

 // assigning each picture to an element in array if it is the first time. This will be used to save the pictures later on
  If NewImage = True then Formulae[ImgNo].Assign(TempImg);


  TempImg.Free;
  ImgDisplayed:= ImgNo;

  lbl_FormulaDisplay.Caption:= 'Formula ' + inttostr(ImgNo); //user can see which formula can be seen
end;

감사.

레미 르보

호출하기 전에 할당 된 객체로 배열을 채웠습니까 Assign? 아마 아닐 것입니다. 대신 다음과 같이 시도하십시오.

procedure Tfrm_calc2.ChangeDisplay(ImgNo: Integer);
var
  TempImg: TJPEGImage;
begin
  TempImg := TJPEGImage.Create;
  try
    TempImg.LoadFromFile('C2F'+IntToStr(ImgNo)+'.jpg');
    img_Formulae.Picture.Assign(TempImg);

    if Formulae[ImgNo] = nil then
    begin
      Formulae[ImgNo] := TempImg;
      TempImg := nil;
    end else
      Formulae[ImgNo].Assign(TempImg);
  finally
    TempImg.Free;
  end;
  ImgDisplayed := ImgNo;
  lbl_FormulaDisplay.Caption := 'Formula ' + IntToStr(ImgNo);
end;

또는 :

procedure Tfrm_calc2.ChangeDisplay(ImgNo: Integer);
var
  TempImg: TJPEGImage;
begin
  TempImg := TJPEGImage.Create;
  try
    TempImg.LoadFromFile('C2F'+IntToStr(ImgNo)+'.jpg');
    img_Formulae.Picture.Assign(TempImg);

    FreeAndNil(Formulae[ImgNo]);
    Formulae[ImgNo] := TempImg;
  except
    TempImg.Free;
    raise;
  end;
  ImgDisplayed := ImgNo;
  lbl_FormulaDisplay.Caption := 'Formula ' + IntToStr(ImgNo);
end;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ReadFile () 함수를 사용할 때 액세스 위반이 발생하는 이유는 무엇입니까?

분류에서Dev

C ++에서 MongoDB에 연결할 때 액세스 위반이 발생하는 이유는 무엇입니까?

분류에서Dev

dll에서 함수를 호출하고 레코드를 사용할 때 액세스 위반이 발생하는 이유는 무엇입니까?

분류에서Dev

포인터로 정렬되지 않은 uint16 배열에 액세스 할 때 "정렬 예외"가 발생하지만 첨자를 사용하여 배열에 액세스 할 때 발생하지 않는 이유는 무엇입니까?

분류에서Dev

배열에 변수를 할당 할 때 배열 첨자가 범위를 벗어남 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

$ new를 사용할 때 내 범위 속성에 액세스 할 수없는 이유는 무엇입니까?

분류에서Dev

JasperReports Server에서 임시 보고서를 생성 할 때 "액세스 거부"오류가 발생하는 이유는 무엇입니까?

분류에서Dev

내 람다 함수가 S3 버킷에 액세스하려고 할 때 액세스 거부가 발생하는 이유는 무엇입니까?

분류에서Dev

dconf-editor를 사용할 때 옵션에 액세스 할 수없는 이유는 무엇입니까?

분류에서Dev

Vue의 배열에서 요소를 제거 할 때 마지막 인덱스에서 전환이 발생하는 이유는 무엇입니까?

분류에서Dev

데이터베이스에 json 데이터를 삽입 할 때 배열의 배열에 액세스하는 방법은 무엇입니까?

분류에서Dev

목록 요소에 액세스 할 때 Flutter가 오류를보고하는 이유는 무엇입니까?

분류에서Dev

정수 배열 (예 : int a []) in c : a [i]를 사용하여 액세스 할 때 잘못된 값이 반환되는 이유는 무엇입니까?

분류에서Dev

배열을 프록시하고 map 함수에 액세스 할 때 배열의 생성자가 확인되는 이유는 무엇입니까?

분류에서Dev

데이터베이스 파일 (.mdf)에 액세스하려고 할 때 네트워크 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

내 함수에서 때때로 액세스 위반이 발생하는 이유는 무엇입니까?

분류에서Dev

TrimStart가 변수에 다시 텍스트를 할당 할 때만 작동하는 이유는 무엇입니까?

분류에서Dev

액세스가 보호 될 때마다 객체에 액세스 할 수없는 이유는 무엇입니까?

분류에서Dev

액세스가 보호 될 때마다 객체에 액세스 할 수없는 이유는 무엇입니까?

분류에서Dev

Ubuntu에서만 gitlab에 액세스하려고 할 때 갑자기 ERR_TIMED_OUT이 발생하는 이유는 무엇입니까?

분류에서Dev

model.rb 내에서이 self.attribute에 액세스하려고 할 때 nil : NilClass 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

배열을 정의 할 때 초기화하는 경우 배열에 여러 요소를 제자리에 할당 할 수없는 이유는 무엇입니까?

분류에서Dev

이메일 전달 코드를 수행 할 때 액세스 제한 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

액터에 서비스를 주입하려고 할 때 IllegalArgumentException 예외가 발생하는 이유는 무엇입니까?

분류에서Dev

Formik에서 유효성 검사를 생성 할 때 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

C ++에서 구조체를 반환 할 때 여러 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

스레드를 생성 할 때 예기치 않은 출력이 발생하는 이유는 무엇입니까?

분류에서Dev

MEL에서 ArrayList의 크기에 액세스 할 때 런타임 예외가 발생하는 이유는 무엇입니까?

분류에서Dev

배열에서 호출 할 때 잘못된 호출이 발생하는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    ReadFile () 함수를 사용할 때 액세스 위반이 발생하는 이유는 무엇입니까?

  2. 2

    C ++에서 MongoDB에 연결할 때 액세스 위반이 발생하는 이유는 무엇입니까?

  3. 3

    dll에서 함수를 호출하고 레코드를 사용할 때 액세스 위반이 발생하는 이유는 무엇입니까?

  4. 4

    포인터로 정렬되지 않은 uint16 배열에 액세스 할 때 "정렬 예외"가 발생하지만 첨자를 사용하여 배열에 액세스 할 때 발생하지 않는 이유는 무엇입니까?

  5. 5

    배열에 변수를 할당 할 때 배열 첨자가 범위를 벗어남 오류가 발생하는 이유는 무엇입니까?

  6. 6

    $ new를 사용할 때 내 범위 속성에 액세스 할 수없는 이유는 무엇입니까?

  7. 7

    JasperReports Server에서 임시 보고서를 생성 할 때 "액세스 거부"오류가 발생하는 이유는 무엇입니까?

  8. 8

    내 람다 함수가 S3 버킷에 액세스하려고 할 때 액세스 거부가 발생하는 이유는 무엇입니까?

  9. 9

    dconf-editor를 사용할 때 옵션에 액세스 할 수없는 이유는 무엇입니까?

  10. 10

    Vue의 배열에서 요소를 제거 할 때 마지막 인덱스에서 전환이 발생하는 이유는 무엇입니까?

  11. 11

    데이터베이스에 json 데이터를 삽입 할 때 배열의 배열에 액세스하는 방법은 무엇입니까?

  12. 12

    목록 요소에 액세스 할 때 Flutter가 오류를보고하는 이유는 무엇입니까?

  13. 13

    정수 배열 (예 : int a []) in c : a [i]를 사용하여 액세스 할 때 잘못된 값이 반환되는 이유는 무엇입니까?

  14. 14

    배열을 프록시하고 map 함수에 액세스 할 때 배열의 생성자가 확인되는 이유는 무엇입니까?

  15. 15

    데이터베이스 파일 (.mdf)에 액세스하려고 할 때 네트워크 오류가 발생하는 이유는 무엇입니까?

  16. 16

    내 함수에서 때때로 액세스 위반이 발생하는 이유는 무엇입니까?

  17. 17

    TrimStart가 변수에 다시 텍스트를 할당 할 때만 작동하는 이유는 무엇입니까?

  18. 18

    액세스가 보호 될 때마다 객체에 액세스 할 수없는 이유는 무엇입니까?

  19. 19

    액세스가 보호 될 때마다 객체에 액세스 할 수없는 이유는 무엇입니까?

  20. 20

    Ubuntu에서만 gitlab에 액세스하려고 할 때 갑자기 ERR_TIMED_OUT이 발생하는 이유는 무엇입니까?

  21. 21

    model.rb 내에서이 self.attribute에 액세스하려고 할 때 nil : NilClass 오류가 발생하는 이유는 무엇입니까?

  22. 22

    배열을 정의 할 때 초기화하는 경우 배열에 여러 요소를 제자리에 할당 할 수없는 이유는 무엇입니까?

  23. 23

    이메일 전달 코드를 수행 할 때 액세스 제한 오류가 발생하는 이유는 무엇입니까?

  24. 24

    액터에 서비스를 주입하려고 할 때 IllegalArgumentException 예외가 발생하는 이유는 무엇입니까?

  25. 25

    Formik에서 유효성 검사를 생성 할 때 오류가 발생하는 이유는 무엇입니까?

  26. 26

    C ++에서 구조체를 반환 할 때 여러 오류가 발생하는 이유는 무엇입니까?

  27. 27

    스레드를 생성 할 때 예기치 않은 출력이 발생하는 이유는 무엇입니까?

  28. 28

    MEL에서 ArrayList의 크기에 액세스 할 때 런타임 예외가 발생하는 이유는 무엇입니까?

  29. 29

    배열에서 호출 할 때 잘못된 호출이 발생하는 이유는 무엇입니까?

뜨겁다태그

보관