Q&A

  • inaccecible procedure
디버깅할때 다음 프로시저에서 각 내부프로시저 이름에 마우스를 갖다대면 위 제목과 비슷한 말이 뜹니다.

그림이 저장되야 하는데 전혀 동작하지 않네요

지금 그림부분을 시험중이고 그림은 TPicture와 TBitMap으로 선언했습니다..


procedure TFrmSkinner.BtnSaveClick(Sender: TObject);
var
StrDir: String;
i: integer;

procedure Image;
begin
With SkinImage do begin
  ITitleBar := ImgTitleBar.Picture;
  ITrackBar := ImgTrackBar.Picture;
// 등등
end;
end;

procedure Position;
begin
  With SkinPosition do begin
     With PFrmMain do begin
      PLeft := StrToInt(EdtPFrmMainLeft.Text);
      PTop := StrToInt(EdtPFrmMainTop.Text);
      PWidth := StrToInt(EdtPFrmMainWidth.Text);
      PHeight := StrToInt(EdtPFrmMainHeight.Text);
     end;

     With PFrmPl do begin
      PLeft := StrToInt(EdtPFrmPlLeft.Text);
      PTop := StrToInt(EdtPFrmPlTop.Text);
      PWidth := StrToInt(EdtPFrmPlWidth.Text);
      PHeight := StrToInt(EdtPFrmPlHeight.Text);
     end;
    // 등등

  end;
end;

procedure Text;
var
  i : integer;
begin
  With SkinText do begin
   for i := 1 to 255 do begin
    TEdtLMin[i] := EdtEdtLMin.Text[i];
    TEdtLSec[i] := EdtEdtLSec.Text[i];
     // 등등
    end;
   end;
end;

procedure Font;
begin
  With SkinFont do begin
   FForm := BtnFForm.Font;
   FEdtLMinNum := BtnFEdtLMinNum.Font;
  // 등등
  end;
end;

begin if DlgSaveSkin.Execute then begin
StrDir := DlgSaveSkin.FileName;
Delete(StrDir, Pos('.skn', StrDir), 4);
// EdtCreator.Text := StrDir;

With SkinMain do begin
   Image := ChkImage.Checked;
   Position := ChkPosition.Checked;
   Font := ChkFont.Checked;
   Text := ChkText.Checked;
   Trans := ChkTranslated.Checked;

   for i := 1 to 31 do begin
     Title[i] := EdtAppName.Text[i];
     Creator[i] := EdtCreator.Text[i];
     Designer[i] := EdtDesigner.Text[i];
     Artist[i] := EdtArtist.Text[i];
     Fonter[i] := EdtFonter.Text[i];
     Texter[i] := EdtWriter.Text[i];
     Language[i] := EdtLanguage.Text[i];
     Name[i] := EdtTitle.Text[i];
    end;

  end;
AssignFile(FSkinMain, StrDir+'.skn');
rewrite(FSkinMain);
  write(FSkinMain, SkinMain);
closeFile(FSkinMain);

if ChkImage.Checked
  then begin
    Image;  // 이부분에서 호출되지 않습니다. 이 프로시저 내용을
               // 본문에 복사해서 사용하도 안되는것으로 보아
               // 잘못호출한것 같지도 않습니다.


    AssignFile(FSkinImage, StrDir+'.img');
    rewrite(FSkinImage);
     write(FSkinImage, SkinImage);
    closeFile(FSkinImage);
   end;

if ChkPosition.Checked
  then begin
    Position;
    AssignFile(FSkinPosition, StrDir+'.pos');
    rewrite(FSkinPosition);
     write(FSkinPosition, SkinPosition);
    closeFile(FSkinPosition);
   end;

if ChkText.Checked
  then begin
    Text;
    AssignFile(FSkinText, StrDir+'.txt');
    rewrite(FSkinText);
     write(FSkinText, SkinText);
    closeFile(FSkinText);
   end;

if ChkFont.Checked
  then begin
    Font;
    AssignFile(FSkinFont, StrDir+'.fnt');
    rewrite(FSkinFont);
     write(FSkinFont, SkinFont);
    closeFile(FSkinFont);
   end;

end; end;

end.
0  COMMENTS