OSDN Git Service

・メニューの開放に Delete ではなく Free を使うように。
[gikonavigoeson/gikonavi.git] / Editor.pas
index 1c55ec4..c569832 100644 (file)
@@ -522,11 +522,7 @@ begin
                RefURL := GikoSys.UrlToServer(FBoard.URL) + 'test/bbs.cgi';
        end else begin
                URL := FThreadItem.GetSendURL;
-               RefURL := GikoSys.UrlToServer(FThreadItem.ParentBoard.URL)
-                                               + 'test/read.cgi/'
-                                               + FThreadItem.ParentBoard.BBSID
-                                               + '/' + ChangeFileExt(FThreadItem.FileName, '')
-                                               + '/l50';
+               RefURL := FThreadItem.URL;
        end;
        Indy.Request.UserAgent := GikoSys.GetUserAgent;
        Indy.Request.Referer := RefURL;
@@ -809,31 +805,40 @@ begin
                        Board.KotehanMail := MailComboBox.Text;
                end;
 
-               if FThreadItem <> nil then begin
-                       if FThreadItem.IsBoardPlugInAvailable then begin
+               if Board.IsBoardPlugInAvailable then begin
+                       if FThreadItem = nil then begin
+                               // \83X\83\8c\97§\82Ä
+                               state := TGikoDownloadState( Board.BoardPlugIn.CreateThread(
+                                       DWORD( Board ), TitleEdit.Text, NameComboBox.Text, MailComboBox.Text, BodyEdit.Text ) );
+
+                               if state = gdsComplete then begin
+                                       GikoForm.PlaySound('ResEnd');
+                                       SaveSendFile;
+                                       GikoForm.AddMessageList(FBoard.Title + ' [\90V\83X\83\8c\91\97\90M\8fI\97¹]', nil, gmiOK);
+                                       Close;
+                               end else if State = gdsError then begin
+                                       GikoForm.AddMessageList(FBoard.Title + ' [\90V\83X\83\8c\91\97\90M\8e¸\94s]', nil, gmiNG);
+                               end else if State = gdsAbort then begin
+                                       GikoForm.AddMessageList(FThreadItem.Title + ' [\92\86\92f]', nil, gmiSAD);
+                               end;
+                       end else begin
+                               // \83\8c\83X
                                state := TGikoDownloadState( FThreadItem.BoardPlugIn.WriteThread(
                                        DWORD( FThreadItem ), NameComboBox.Text, MailComboBox.Text, BodyEdit.Text ) );
+
                                if state = gdsComplete then begin
                                        GikoForm.PlaySound('ResEnd');
                                        SaveSendFile;
-                                       if FThreadItem = nil then
-                                               GikoForm.AddMessageList(FBoard.Title + ' [\90V\83X\83\8c\91\97\90M\8fI\97¹]', nil, gmiOK)
-                                       else
-                                               GikoForm.AddMessageList(FThreadItem.Title + ' [\83\8c\83X\91\97\90M\8fI\97¹]', nil, gmiOK);
+                                       GikoForm.AddMessageList(FThreadItem.Title + ' [\83\8c\83X\91\97\90M\8fI\97¹]', nil, gmiOK);
                                        Close;
                                end else if State = gdsError then begin
-                                       if FThreadItem = nil then
-                                               GikoForm.AddMessageList(FBoard.Title + ' [\90V\83X\83\8c\91\97\90M\8e¸\94s]', nil, gmiNG)
-                                       else
-                                               GikoForm.AddMessageList(FThreadItem.Title + ' [\83\8c\83X\91\97\90M\8e¸\94s]', nil, gmiNG);
+                                       GikoForm.AddMessageList(FThreadItem.Title + ' [\83\8c\83X\91\97\90M\8e¸\94s]', nil, gmiNG);
                                end else if State = gdsAbort then begin
                                        GikoForm.AddMessageList(FThreadItem.Title + ' [\92\86\92f]', nil, gmiSAD);
                                end;
-                       end else begin
-                               Send(Board.SPID, Board.PON, True);
                        end;
                end else begin
-                       Send(Board.SPID, Board.PON, True);
+                       Send(Board.SPID, Board.PON, True);
                end;
        finally
                FWork := False;