Develop and Download Open Source Software

Browse Subversion Repository

Contents of /CopalPro/devnote.log

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations) (download)
Thu Jul 28 09:05:52 2011 UTC (12 years, 9 months ago) by kaityo
File size: 17291 byte(s)
First Commit
1 //----------------------------------------------------------------------
2 // 開発ノート
3 //----------------------------------------------------------------------
4
5 //----------------------------------------------------------------------
6 // Ver 2.85
7 //----------------------------------------------------------------------
8
9 2011/7/28
10 htmlヘルプをRDから作成するようにした。
11 hhcは作成したhtmlから作成しているが、後でRDから直接出力するようにしたい。
12
13 //----------------------------------------------------------------------
14 // Ver 2.84
15 //----------------------------------------------------------------------
16
17 2009/01/02
18 → エラーウィンドウのコピーがおかしい。複数行選択されないとコピーできないようだ。→修正済み
19
20 //----------------------------------------------------------------------
21 // Ver 2.84
22 //----------------------------------------------------------------------
23
24 2008/12/20
25 ・PHPの「ブラウザへ送る」に対応
26 ・HTMLHELPの挙動がおかしかったので、FreeLibraryを最後におこなうようにした。
27 → HTMLヘルプ、一度読みに行くとロックを解除せず、ファイルが削除できなくなるようだ。
28
29 2008/06/22
30 ・CopalConfig::SetTabWidthを実装。
31 ・Tab幅の設定を作ったが、反映されない。
32 →チェックすること
33
34 2008/05/30
35 ・TFScript::SaveToTemporaryFileを追加。
36 ・ConvertStreamで、必ずmsOut->Positionを巻き戻すように修正。
37 ・chelpxxx.lzhの表示がおかしいのをなおした
38 →ConvertStream関連とFindText関連を整理すること
39 →SJISがUTF-8と判定されるバグを修正すること。
40
41 //----------------------------------------------------------------------
42 // Ver 2.83
43 //----------------------------------------------------------------------
44
45 2008/05/29
46 ・エラーウィンドウにフォーカスがある場合の表示の修正
47 ・Ctrl+Tabでウィンドウを切り替えられるようにした。
48 ・スクリプト、結果、エラー各ウィンドウの表示にショートカットキーを設定した。
49
50 //----------------------------------------------------------------------
51 // Ver 2.82
52 //----------------------------------------------------------------------
53
54 2008/02/10
55 ・結果ウィンドウでキー入力に対してステータスバー表示が更新されないことがある不具合を修正。
56 ・既に登録されている言語を追加できる不具合を修正。
57 ・「新しい言語を追加」時に、エラーが出る場合があった不具合を修正。
58 ・HTMLHelpとWindows Helpを拡張子で判別するように変更。これに伴い、「言語別の設定」から「HtmlHelp」を削除。
59 ・PHPに対応するため「言語別の設定」に「エラーコードが0以外の時に結果ウィンドウを表示しない」を追加。
60
61 //----------------------------------------------------------------------
62 // Ver 2.81
63 //----------------------------------------------------------------------
64 2007/11/06
65 ・日本語を含まないファイルをUTF-8と判定されるバグを修正。
66
67 2007/11/05
68 ・htmlのmakefileを修正
69 ・日本語を含まないファイルだけだとUTF-8と判定されてしまう問題を修正すること。
70
71 2007/10/02
72 ・拡張子判別言語切り替えの不具合を修正。
73
74 2007/10/01
75 ・FMain::OpenDialogをFScriptに移動。
76 ・KMenuCustomizer.* を削除
77
78 2007/09/08
79 ・CGIの拡張子をPerlとRubyで設定しているとき、再読み込みでPerlになってしまう。
80
81 2007/08/13
82 ・強制終了後、再ログインしないと実行できない不具合を修正(多分 Win 95/98/Me限定)。
83
84 旧コード:
85 if (err == ERROR_ALREADY_EXISTS) {
86 //もしすでに常駐してたらそいつにメッセージを投げて、自分は死ぬ
87 HWND prev = FindWindow("TFCopalProMain",NULL);
88 if(prev==NULL) {
89 //mutexが設定されているのにウィンドウが見つからない
90 MessageBox(NULL,"Cannot find the previous window.","CopalPro",MB_OK);
91 }else{
92
93 //引数をGlobal Atomとして追加
94 ATOM atom = GlobalAddAtom(FileName.c_str());
95 if (PostMessage(prev,WM_FILEPOST,(int)atom,0)==0) {
96 MessageBox(NULL,"Posting Message was failed.","CopalPro",MB_OK);
97 }
98 }
99 return 0;
100 }
101
102 新コード:
103
104 if (err == ERROR_ALREADY_EXISTS) {
105 //もしすでに常駐してたらそいつにメッセージを投げて、自分は死ぬ
106 HWND prev = FindWindow("TFCopalProMain",NULL);
107 if(prev!=NULL) {
108 //引数をGlobal Atomとして追加
109 ATOM atom = GlobalAddAtom(FileName.c_str());
110 if (PostMessage(prev,WM_FILEPOST,(int)atom,0)==0) {
111 MessageBox(NULL,"Posting Message was failed.","CopalPro",MB_OK);
112 }
113 return 0;
114 }else {
115 //mutexが設定されているのにウィンドウが見つからない(強制終了の疑い)
116 const char *msg = "前回、正常に終了していない可能性があります。\n"
117 "Perlなどのプロセスが残っている可能性がありますので、\n"
118 "タスクマネージャから削除するようにしてください。\n"
119 "また、なるべく強制終了をせず、エスケープキーを利用するように\n"
120 "してください。";
121 MessageBox(NULL,msg,"CopalPro",MB_OK);
122 }
123 }
124
125
126 2007/05/16
127 ・mutexの設定方法を変えた。OpenMutexをやめ、CreateMutexとした。
128 ・コンパイル時に「DCLUSR.LIBが開けません」と出る不具合を修正。これで
129 まっさらなBCBでもビルドできるはず。
130 ・必要ない *.ddpファイルを削除。
131
132 //----------------------------------------------------------------------
133 // Ver 2.80リリース
134 //----------------------------------------------------------------------
135
136 2007/03/04
137 ・マウスクリックによるactivateで、ファイルの更新チェックをやったときに
138 おかしくなる不具合に対応(完全な修正ではない)
139 ・UTF-8を自動判別できるようにした。
140 ・JISの判定ができなくなっていた不具合を解消(UTFが優先されていた)
141 ・文字コード判別コードをクラス化。それに伴い CodeConv.* -> KCodeConv.*
142 ・stdio.hを撲滅した。
143
144 2007/03/02
145 ・KCopalConfig::UseCGIで統一した。
146 ・ SetCodeModeその他も KCopalConfigに移した。
147 →「常に結果をファイルに保存」SaveAllもKCopalConfigの管理下におくべき。
148 →文字コード判別で、UTF-8とJISも判別できるようにすること。
149
150
151 2007/03/01
152 ・HotKey関係をKCopalConfigに移行した。
153 → SetCodeModeその他も KCopalConfigに移すべきか?
154 → OnActivate時の問題の原因判明
155  ・Mouse入力によりActivateされた場合、そのマウスイベントが残って問題となる。
156
157
158 2007/02/28
159 ・「外部エディタの起動」にショートカット Ctrl+Eを設定
160 ・オートリフレッシュの無駄コードを修正(FMainとFScriptのOnChangeScriptの削除)
161 ・On_WM_Activateで、メッセージがWA_INACTIVEでないかチェックする
162 コードを入れた。
163 void __fastcall
164 TFMain::On_WM_Activate(TWMActivate &Msg) {
165 if(Msg.Active != WA_INACTIVE){
166 FScript->CheckFileDate();
167 }
168 }
169
170 → HotKey関係をKCopalConfigに移すこと!!!
171
172 2007/02/20
173 ・ウィンドウを全てpsDefaultPosOnlyに変更。
174 → キーワードを選択してから F1を押すとキーワード検索ができない
175
176 2007/02/18
177 ・ソースの掃除
178 →TFScriptとTFResultで検索コードがかぶっているのを直したい。
179
180 2007/02/18
181 ・「オートリフレッシュ時に外部エディタでファイルを開いたら編集禁止」を実装
182 ・ソースの掃除。 SaveQueryなど、TFScript::FileAgeや TFScript::FileNameをprivateに
183 ・makehtmlの場所を変更。Releaseと同格に。
184 ・makehtml.rbでアーカイブとソースを作った
185 ・Ver 2.79をリリース
186
187 2007/02/17
188 ・Release/html/makehtml.rbを途中まで作った。
189 ・makefileも作成。環境変数からの受け渡しも作った。
190 →make release からのテストと、make copyへの追加を忘れずに
191 →「オートリフレッシュ時にファイルを開いたら...」が実装されていない
192
193 2007/02/15
194 ・DOS窓で実行中、プロセスを監視する
195
196 HINSTANCE handle = ShellExecute(this->Handle,NULL,CopalConfig->TempBat.c_str(),NULL,NULL,SW_SHOW);
197 DWORD exitcode = 0;
198 while(1) {
199 //exitcodeを調べる
200 if(GetExitCodeProcess((HANDLE)handle,&exitcode)==false) {
201 break;
202 }
203
204 if (exitcode !=STILL_ACTIVE)
205 break;
206
207 if (GetAsyncKeyState(VK_ESCAPE)<0) {
208 ShowMessage("処理は中断されました");
209 break;
210 }
211 }
212 DeleteFile(CopalConfig->GetTempFile());
213
214 これにより、確実にゴミを消すことができる。
215
216 2007/02/09
217 ・新規作成などをしたら、編集禁止を解くようにした。
218 ・スクリプト実行時、結果ウィンドウのスクロールバーの位置を一番上に戻すようにした。
219 ・アンフックを忘れていたので、フックを解放するようにした。
220
221 ・UpdateAllをつけた。
222 ・実行時一時変数をCopalConfigが管理するように変更
223 →なるべくFMain::GetCopalConfig()を削除していきたい。
224
225 2007/02/04
226 ・新規作成などをしたら、編集禁止を解くこと。
227
228 2007/01/24
229 ・基本的に MenuItemとToolButtonの同期は UpdateMenuで行うことにした。
230 ・バージョン情報のメールアドレスを修正
231 → 一時状態変数はすべてKCopalConfigに保存するようにしたい。
232 → Exec.cppがひどいので整理したい。
233 → 整理したあと、Resultのスクロールバーの処理をすること。
234
235 2007/01/22
236 ・編集禁止をつけた
237 ・条件はどうするか
238 →ファイルを開いたときにオートリフレッシュがONなら編集禁止にする
239 →TFScriot::LoadFromFileでやってよいか考えること
240
241 2006/10/28
242 ・拡張子を指定せずに保存した場合、デフォルトで拡張子が追加されるようになった。
243 この際、「test.cgi」を保存しようとして、「test.cgi.rb」などとなってしまうが、
244 これは「言語別の設定」「拡張子リスト」に「rb,cgi」などと使う拡張子を追加すればOK。
245
246 2006/09/01
247 ・HTMLヘルプで、存在しないファイルを指定するとバグる問題に対処した。
248
249 2006/08/27
250
251 それぞれのソースファイル(¥Source\Toolsapi)をコンパイルして それぞれ
252 の.dcu ファイルを\Lib\Objにコピーしました。
253 [プロジェクト | オプションソースの編集]で
254
255 PFLAGS(パスカルのオプション)項目に Ludesignide を追加
256 <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M -Ludesignide"/>
257
258 これで、コンポーネントのコンパイルもエラーなく、インストールできました。
259
260
261 2006/08/18
262 ・Cygwinのmakeが通るように KRegexp.cppの KRegexp::Patternを修正。
263
264 2006/07/15
265 ・空白を含むファイルを開けないバグを修正
266 ・拡張子により自動的に言語が切り替わるようにした。
267 ・以下のコードは、*.rbを表示しているときに test.cgiと保存しようとすると
268 test.cgi.rbになってしまって鬱陶しいので削除。
269  やるなら自前でやるか。
270 //FMain->SaveDialog->DefaultExt = FMain->GetCopalConfig()->GetDefaultExt();
271
272
273
274 2006/05/17
275 ・検索ウィンドウにフォーカスがあるときにショートカットキーが効かなかったバグを修正。
276
277 2006/05/04
278 ・UseTagJumpToOtherFileに対応。
279 ・requireなどで読み込んだ別のファイルにエラーがあった場合に、タグジャンプ
280 できるようにした。外部エディタのタグジャンプ設定が必要。
281
282 2006/05/03
283 ・BREGEXP.DLLのラッパークラス、KRegexpを追加。
284 ・それに伴い BMRegExpコンポーネントを削除。
285
286 2006/04/07
287 ・パスに空白を含むファイルをショートカットにドロップしたときに開けない問題を修正。
288
289
290 2006/02/20
291 ・下方向の検索速度も向上。数千行くらいまでなら実用的。
292 ・64KB以上のテキストが編集できなかった問題を修正。
293
294 2006/02/19
295 ・上方向への検索速度を向上。
296 ・同様に下方向も向上させる必要あり。
297
298 2006/02/18
299 ・Cookieエディタをつけた。
300
301 2006/02/10
302 ・環境変数エディタを、常に手前に表示できるようにした。
303
304 2006/02/08
305 ・環境変数エディタの使い勝手向上
306 ・あとは検索だけなんとかして公開したい。
307
308 2006/01/23
309 ・Ruby のエラーメッセージ
310 ・test.rb:2: undefined local variable or method `a' for main:Object (NameError)
311 ・BRegexp.dllが使えそう。サンプルコードを書きたい。$1に帰るようにすればいいな。
312
313 2006/01/19
314 ・requireの別ファイルにタグジャンプしたい。
315 ・フォームエディタの使い勝手を向上
316
317 2006/01/17
318 ・requireの別ファイルにタグジャンプしたい。
319
320 2006/01/15
321 ・FindNextで、視界から消える問題を修正。
322 ・FindPrev(上方向に検索)を作成
323 ・TEditor用にFindPrev, FindNextをTAWKStrを使って作り直した。
324
325 2006/01/10
326 ・FindNextをつけた。
327 ・Windowを変えるショートカットキーを削除
328 ・FindNextで、視界から消えるバグを修正すること。
329
330 2006/01/05
331 ・SetWindowFocusを指定。TEditorに対応する準備。
332 ・ファイルを開いているときに、春Mから別のファイルをCopalに送ったとき、
333  Copalが最前面にこない。
334
335 2006/01/04
336 ・設定を開いている時にはホットキーを無効にした。
337 ・ホットキーが効かないことがあるバグを修正。
338 ・Ctrl+Zが効かないバグを修正。
339
340 ↑Ver 2.74
341 -------------------------------------------------------------------------
342 ↓Ver 2.73
343
344 2005/11/27
345 ・ホットキーに対応
346
347 2005/11/20
348 ・「実行結果のブラウザへ」エラーがあるときにはブラウザを開かないように修正。
349
350 2005/10/17
351 ・フォームエディタがESCで閉じるようにした。
352  ・Valueでリターンキーを押したとき、次に進むようにしたい。
353 ・出力が何もないときに「ブラウザへ出力」をやると「リストの範囲を超えています」とでるバグを修正。
354 ・すでにCopalが起動しているときに、もう一度実行すると変な名前のファイル名を開こうとしていたバグを修正。
355
356 2005/07/05
357 ・カレントディレクトリを、スクリプト、実行結果で分けて管理するようにした。
358 ・スクリプトでないファイルをドロップしたとき、実行結果のカレントがドロップファイルの
359  あるディレクトリに変わるようにした。
360  →これは人それぞれかも知れないので、環境にチェックを入れておく。
361 ・ディレクトリ
362
363  ファイルドロップ時にカレントディレクトリを変更する。
364  ・デスクトップからドロップした場合は変更しない
365
366 ・ヘッダのカットがおかしかったので直した。
367
368 2005/04/17
369 ・ファイルをドロップしたら、「ドロップファイルを記憶」が押されるようにしたい。
370 ・返り値が0でなかったら、エラーがあることをどこかに表示したい。
371
372 2005/01/05
373 ・エディタを指定した時に、カレントディレクトリが変わるのを防ぐようにした
374 ・常に出力ファイルを指定を作った
375 ・CGIエディタでコピー系が全てTFMainに乗っ取られていたので、
376 PostMessage(ActiveControl->Handle,WM_COPY,0,0);
377 をメニューで入れることで対応。
378 ・キーワード検索の不具合を修正。
379 ・時々セーブがおかしくなるので、結果ウィンドウの保存はいま常にSJISになっている。
380
381 2004/08/23
382 ・単語検索で、範囲チェックエラーが出る。検索範囲もおかしい。
383 ・コマンドラインから新規ファイル作成ができないバグ
384
385
386 2004/08/13
387 ・実行結果のエディタでコピー&ぺーすと等ができない。
388 ・実行ファイルをセーブしたファイル名が残っていた→クリアする
389
390 2003/11/04
391 ・アンドゥが効かない?チェックすること
392 2003/11/11
393
394 ・スクリプトをドロップして言語が変わったときの
395  バグを修正
396 ・多数のファイルをドロップの処理を付け加える
397  ・処理中のダイアログを出すこと
398
399
400 現在、フル構築に137秒かかる。
401
402
403 2003/11/18
404 ・ファイルをいじるたびにカレントフォルダが戻ってしまう。
405 ・タグジャンプ
406 terapad なら
407 /jl=%N %F
408 秀丸なら
409 /j行番号,桁番号
410 多分 /j%N,0 %F でいけると思う。
411
412
413 ・キーワード検索で括弧に反応してしまう
414  ・open(file)で、「open(」を探してしまう。
415  ・なおした
416
417 ・カレントフォルダ
418  ・スクリプトのカレントディレクトリと実行結果のカレントフォルダを
419   別々に管理
420
421 ・直前にドロップしたファイルを知りたい
422  ・直した
423
424
425 2004/06/09
426 ・Copalで開いているスクリプトに変更がある場合、オートリフレッシュを
427 押したら注意すべき。
428
429 2004/10/29
430 ・環境変数の与え方
431 char* lpEnvironment ="test=test1";
432 CreateProcess(NULL,CommandLine.c_str(), NULL, NULL, TRUE, 0, lpEnvironment, NULL, &si, &pi)
433
434 ただし、各値は "名前=値"でNULLターミネート。ブロックの終わりにNULLも必要なので、
435 最後は二つNULLが並ぶことになる。
436
437 表示は
438 print $ENV{"PATH"};
439
440 リストから lpEnvironmentを作るコードが必要。
441 KExecProcのメンバにすべき。
442
443 ・とりあえず、 lpEnvironmentをメンバ変数にした。
444 ・ちゃんと作ればGETメソッドだけはできる。
445
446 AddEnvironment(AnsiString Name, AnsiString Value);
447
448 それとは別に、CONTENT_LENGTHとかを作る
449
450 さしあたり必要なもの。
451 REQUEST_METHOD POST/GET
452 CONTENT_LENGTH POSTの時、長さを入れる。(GETの時はセットしない)
453 QUERY_STRING
454
455
456 FORMで必要なもの
457
458 TEXT <input type=text name="name" size=20 value="ひろし">
459 TEXTAREA <textarea name="value" rows=5 cols=82></textarea>
460 CHECKBOX
461
462 ・環境変数lpEnvironmentは、KExecProcには渡すだけ、
463 したがって、
464
465 KExecProc::SetEnvironment(char * buf, int size);
466 でOK。
467
468 lpEnvironmentを作るのは、CGIフォームエディタ。
469 MakeEnvironmentが作る。
470
471 ・FormEditorの作成(リビジョン36が直前)
472
473 TStringGridで、行全体を選ぶのは
474 Options goRowSelectをtrueに。
475 Options goRangeSelectをfalseに。
476
477 配置:
478
479 TStringGrid Client
480 Panel Bottom
481
482 Panelの大きさを確定するため、Splitterはいらない
483
484 2004/10/31
485 ・フォームエディタを作った。
486
487
488 PATH
489 REMOTE_ADDR
490 REQUEST_METHOD
491 HTTP_ACCEPT
492 HTTP_ACCEPT_CHARSET
493 HTTP_ACCEPT_ENCODING
494 HTTP_ACCEPT_LANGUAGE
495 HTTP_HOST
496 HTTP_REFERER
497 HTTP_USER_AGENT
498 TZ
499
500 環境変数の取得
501 GetEnvironmentVariable,SetEnvironmentVariable
502
503 ・まずは環境変数から
504
505 TList *EnvList;
506
507 class KEnvData{
508 private:
509 AnsiString Name;
510 AnsiString Value;
511 public:
512 AnsiString GetName(void);
513 AnsiString GetValue(void);
514 void SetName(AnsiString n);
515 void SetValue(AnsiString v);
516 };
517
518 2004/10/31
519 ・環境変数のGUI部分を完成
520 ・KExecProcへの受け渡しも作った。
521 ・「CGIフォームデータを使う」を作った。
522 →Execのロジックの整理
523
524 2004/11/01
525 URLエンコード:
526 ・文字は危なげなものをそのまま%でエスケープ
527 ・ただ、?(%81%48)となるべきものが、なぜか%81Hになっている。
528 ・変数名もエンコードしなくてはいけない
529 ・空白は+へ。+もエスケープ
530 ・エスケープされない文字
531 ・このUrlEncodeメソッドによってエンコードされる文字は、下記以外の文字である。
532 「a〜z」「A〜Z」「0〜9」「'」「.」「-」「*」「)」「(」「_」
533 ・どの文字コードでエンコードすべきか。とりあえずスクリプトと同じ文字列でエンコードする。
534 ・UTF-8とか言われると面倒かも・・・。
535
536 要するに、文字コードを指定の文字コードに変換後、エスケープしない文字列は全てエスケープする。
537
538
539 LPTSTR lpBuffer;
540 FormatMessage(
541 FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
542 NULL,
543 GetLastError(),
544 LANG_USER_DEFAULT,
545 (LPTSTR)&lpBuffer,
546 0,NULL);
547 ShowMessage(lpBuffer);
548 LocalFree(lpBuffer);
549
550 ・GetConvertOptionの動作も修正
551 ・GetURLEncodedTextを作った。
552
553 2004/11/02
554 ・ファイルヒストリもおかしい。
555 →直した
556
557 2004/11/03
558 ・GETは全て完成
559 ・POSTはまだ
560 →クリップボードがおかしい
561 →?のあとを直接入力するモードが欲しい
562 →HTMLを解析するツールが欲しい
563
564 2004/11/04
565
566 ・CreatePipeしたら、片方はDupulicateする。
567 //子プロセスの書き込み権を禁止
568 HANDLE hcp = GetCurrentProcess();
569 DuplicateHandle(hcp,hStdInWriteEnd,hcp,&hRead,0,TRUE,DUPLICATE_CLOSE_SOURCE|DUPLICATE_SAME_ACCESS);
570
571 →いちどサンプルコードを組んで、標準入力に書き込む、読み込むだけの
572 コードを書かないとだめだ。
573
574 フルビルド 64.08sec
575

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26