私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇732:
Re[2]:転職所内蔵 [moon] 08/16 19:00

 └◇733:修正報告 [moon] 08/16 19:12
  └◇734:Re:修正報告 [masaki] 08/17 06:56<-last


732● Re[2]:転職所内蔵[ moon ] 2003 08/16 19:00
> if ($Fm{'mode'} eq 'change_menu') {require 'change_form.pl';&change_form }
> if ($Fm{'mode'} eq 'class_change') {require 'change_form.pl';&change_form }
> if ($Fm{'mode'} eq 'job_change') {require 'change_form.pl';&change_form }

に関連して、

> change_form.plを作成して、その中にsub change_formを作りました。sub change_formの一部↓
> if ($Fm{'mode'} eq 'class_change'){require 'class_change.pl';&class_change;}
> if ($Fm{'mode'} eq 'job_change') {require 'job_change.pl';&job_change;}
> if ($Fm{'mode'} eq 'change_menu') {require 'change_menu.pl';&change_menu;}

としているようですが手元の古いバージョンでは、
# ここから引用
  if ($Fm{'mode'} eq 'change_menu') { &change_form }
  if ($Fm{'mode'} eq 'class_change') { &action_form }
  if ($Fm{'mode'} eq 'job_change') { &action_form }
# ここまで引用
となっています。
なので、これに沿って改造したほうが問題が無いように思います。
具体的には、sub change_menuとclass_changeとjob_changeとchange_formを一つのplファイルにまとめ上記の&change_formや&action_formの前にrequireするだけ、にしておく。(どうせ転職などはあまり行われないので3つや4つに分割する効果はほとんど無いだろうし。)

> 問題の場所はclass_change.pl内の
> if ($urt) { if ($rt < $urt) { push (@msg,"クラスチェンジするにはRateが$urt以上必要です。"); return }}
> だと思うのですが(^^;
> returnの意味がよくわからないので、どこをどうすればいいのか…(;;

returnはサブルーチンを強制的に抜ける処理です。

# normal_actionが実行されない原因としては上記からいうとaction_formを実行していないから、だと思います。
スレッド一覧


733● 修正報告[ moon ] 2003 08/16 19:12
余計な情報があると不味い場合もあるので念のためrequireの部分を修正しておきました。
スレッド一覧


734● Re:修正報告[ masaki ] 2003 08/17 06:56
> 余計な情報があると不味い場合もあるので念のためrequireの部分を修正しておきました。
お手数をおかけしてすみません(;;

転職所内蔵のバグは直りました(^^
plファイルが多いので混乱していましたがw
本当にありがとうございました。
スレッド一覧

CGIROOM