안녕하세요 전 델파이 왕 초보자입니다.
폼을 실행시에 동적으로 생성하고 싶은데.. 그러니까 기존에 만든 폼의 인스턴스(?맞는 말인지 모르겠네) 를 만들고 싶은데 잘 안되는군요...
var
Msgform : Tfrmreply;
begin
Msgform := Tfrmreply.Create(Self);
이런식으로 코딩을 하니 생성은 되는거 같은데 폼을 닫을려니까(close메소드사용) 자꾸 에러('access violation at address 0044c5c9 in module
'실행파일이름.exe' read of address ffffffff')가 나는군요.
그리고 폼의 create이벤트에 폼을 투명하게 해주는 코드
frmreply.Brush.Style := bsClear;
frmreply.BorderStyle := bsNone;
를 넣어 주었는데 이역시 에러가 나는군요
혹시 아시는 분이 계시다면 간단한 예제를 덧붙여서 갈켜 주시면 정말 감사하겠습니다.. 그럼 이만..
먼저 프로젝트의 옵션(델파이 메뉴)을 선택하셔서
만들어 논 폼을 Available Form쪽으로 옮기셔요.
그리고 코딩하는 곳에서 다음과 같이 하셔요.
try
Form2 := TForm2.Create( Self );
Form2.ShowModal;
finally
Form2.Free;
Form2 := nil;
end;
이렇게 하시면 폼이 모달폼(이 폼이 죽지않는 한 다른 폼으로 못감)이
생성되구요.
다음과 같이하면 그냥 일반적인 폼이 생성됩니다.
Form2 := TForm2.Create( Self );
Form2.Show;
해제시킬 때는 폼의 close이벤트에 이렇게
Form2.Free;
Form2 := nil;
이것은 일반적인 폼의 동적생성에 관한 것이었습니다.
그럼...