흠 계속 봤는데 대강 알것같아요 버튼이 눌렸을때 execute가 발생하는것 같은데요. 전 버퍼로 넘어와 바로 받는 거라
버튼 누르는게 없거든요 그래서 꼼수로
TFileStream * sf;
//여기서 파일이름과 파일 크기를 TBytes로 받아오고요.
//..... 생략
if(MessageDlg("폴더를 선택하겠습니까? 아니면 기본 폴더에 저장됩니다.", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
{
if(SaveDialog1->Execute())
{
//버퍼로 받아온 파일이름(폴더 포함)이 SendFile.FileName 이거고요.
// ?????? 친곳에 파일 이름을 넣어야 하는데 ExtractFileName(SendFile.FileName)를 넣어봤는데 안되고요
//SaveDialog1->FileName 넣어봤는데 역시 안되고요. ???????된곳에 뭘넣어야 할까요?
sf = new TFileStream(??????????, fmCreate|fmShareCompat);
sf->Write(&rOF[0], rOF.Length);
}
}
저것도 버튼이라 execute가 발생하지 않을까 했는데 안되더군요 다른방법 없을까요???
if(SaveDialog1->Execute())이문을 왜 띵가 먹고 그냥 빠져나가는지 이해가 안되요 ㅠㅠ
알려주실분
축구 님이 쓰신 글 :
: if(SaveDialog1->Execute())
: {
: //생략
: }
:
: 이렇게하면 다이얼 로그가 열려야 하는거 아닌가요?
:
: 근데 if문을 그냥 지나쳐 버리더라고요.
:
: 그래서 무조건 띄우기위해 그냥
:
: SaveDialog1->Execute();
: // 생략
:
: 이렇게 써봤는데 역시나 다이얼 로그는 안뜨더라고요
:
: 왜이런거죠?
|