Конференция "Сети" » TcpServerAccept и frmFile.ShowModal [D7]
 
  • VirEx(work) (21.05.10 10:58) [0]
    есть две формы: главная frmMain и дополнительная frmFile
    весь код - в главной
    на дополнительной форме есть TEdit (ePath) и две кнопки, в свойствах которых прописан ModalResult: mrOk и mrCancel соответственно

    принимаю по сети файл, хочу вывести дополнительное окно как модальное, чтобы перед сохранением файла автоматически появлявлялась форма в которой можно указать путь (куда сохранить)

    procedure TfrmMain.TcpServerAccept(Sender: TObject; ClientSocket: TCustomIpClient);
    var
     data:TMemoryStream;
    begin
    ...
    if frmFile.ShowModal=mrOk then data.SaveToFile(frmFile.ePath.Text); //<- здесь ступор
    ...
    end;

    при выводе окна, оно не закрывается по кнопкам, компилятор зависает на условии

    если же такое условие сделать например в событии выбора меню, то всё нормально обрабатывается

    что делать?
  • VirEx(work) (21.05.10 12:41) [1]
    плиз, помогите :(
  • kernel © (21.05.10 15:33) [2]
    Если я не ошибаюсь, обращение к VCL из события OnAccept запрещено.
  • kernel © (21.05.10 15:35) [3]

    > kernel ©   (21.05.10 15:33) [2]

    Причем, опять же, если я не ошибась, это относится не к самому событию, а к потокам, которые в данном случае необходимо синхронизировать.
  • _VirEx_ (21.05.10 21:38) [4]
    спасибо kernel
    что-то сразу не додумался
 
Конференция "Сети" » TcpServerAccept и frmFile.ShowModal [D7]
Есть новые Нет новых   [134436   +25][b:0][p:0]