디버깅할때 다음 프로시저에서 각 내부프로시저 이름에 마우스를 갖다대면 위 제목과 비슷한 말이 뜹니다.
그림이 저장되야 하는데 전혀 동작하지 않네요
지금 그림부분을 시험중이고 그림은 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.