2012年09月プログラム95: MFC、Win32++を超えるライブラリを作るスレ (944)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
D言語 Part30 (551)
Perlについての質問箱 56箱目 (707)
C/C++の宿題片付けます 160代目 (531)
だめです! HSP厨は絶対に犯罪です。 (946)
スレ立てるまでもない質問はここで 121匹目 (1001)
【会津】パソコン甲子園2004【若松】 (779)
MFC、Win32++を超えるライブラリを作るスレ
1 :2010/10/09 〜 最終レス :2012/10/27 一緒にMFC風のクラスライブラリを作りましょう。 今、ここまで作りました。 http://www.geocities.jp/katayama_hirofumi_mz/mzc.zip
2 : マジで聞くけどタダのラッパーならもう十分だろ? 何でイマサラ?
3 : どんな面で超えるのかも明確にしないと。
4 : このスレッドは天才pンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
5 : 1>リンコしています...
6 : どうせ作るなら少なくともUnix系/Mac/Win対応のクロスプラットフォームで。
7 : こんなんだったら、WTLで十分だと思う。Win32++は知らないんでノーコメント。
8 : 自分のツッコミどころ自体がツッコミどころ満載って感じがする。 mzc.cpp FormatV→_vscprintfとvsprintfに丸投げしろ。 TrimLeft/TrimRight→boost::algorithm::trim_rightあたりで十分。 そもそもCString要らん。std::basic_stringでいいよ。MFCと全く同じもの作るつもりではないんだろ、な? mzc.h ASSERT_POINTER周りでIsBadXxxPtr使っているけど、 そんな使わってもしょうもないって中の人も言っている。 http://blogs.msdn.com/b/oldnewthing/archive/2006/09/27/773741.aspx 今時CObjectとかやめてくれ。そんな共通基底クラスなんて百害あって一利なしなのがC++なんだから。 (まさにそのCStringみたいにCObjectを継承しないクラスがいくらでも作れるし、 intとか組込型も平等に扱いたいとなると共通基底クラスなんて一瞬で破綻する) CString、コピー構築・コピー代入ありのクラスでswapないのはいただけない。 あと、CStringTクラステンプレート作ってCStringA/CStringW用意している最近のMFCを見習え。 AllocSysStringとかBSTRもクラス化しろよ。そこMFCに似せなくていいから。
9 : mzc.inl swap無いことから想像どおりコピー代入は強い例外安全になっていない。 参照カウントなんかshared_ptrに任せましょうね。 mzcmsg_.h ON_ナンチャラは言うことない、MFCっぽいって言ったらこうなるよなあって感じ。 ON_WM_XXXでコールバック関数名なのは若干気になる。それと、まだ品揃えが足りない感じがする。 あと、GET_X_LPARAM/GET_Y_LPARAMとか使ってやってください。 mzcsync.h コンストラクタでLock→デストラクタでUnlockする補助クラス欲しい。ただ、それ含めWinSTLで事足りるからなあ。 文字列引数を取るCCriticalSectionコンストラクタは非デバッグ時にも定義しろよ(中身は空でもいいから)。 CCriticalSection x(TEXT("Hoge"));って同じコードを使い回せないよ。 あと、InitializeCriticalSectionAndSpinCount呼ぶコンストラクタも作るべき。 InitializeCriticalSectionと違って、エラーか否かを戻り値で返す優れ物。Windows 2000ですら使える。
10 : mzcwin.cpp えー、またCXxxクラスオブジェクトを生ポインタで持つの。だから、そこMFC真似なくていいって。 CBitmap::SaveBitmapToFile うーん、DDBをファイルに書き出すのは少々やり過ぎに思う。せめて、CreateCompatibleBitmapしたときのDCでGetDIBitsしたい。 常にモニタ対象のDCってわけでもないんだし。たしかに、大抵の場合はそれで困らないだろうけど。 CDC::PlayMetaFile Windows APIのPlayMetaFileでダメな理由のコメント書いて。 MzcWindowProc/MzcSubclassWndProc せめてCWndの静的メンバ関数だろ。privateに隠せ。 あと、複数のスレッドでウィンドウ作る設計だったら、mapに排他制御要るよね(map使う実装の是非は置いておいて)。 MzcModalDialogProc/MzcDialogProc 戻り値INT_PTR型だろ mzcwin.h GDI/メニュー関係はスルー。 CWndのGetWindowとかGetActiveWindowとかCWndコピー返しで本当にいいのか? CWndの派生クラスCMyWndを定義、CMyWndオブジェクトを作ってCreate(Ex)した。 そいつがたまたまアクティブウィンドウだったら、こんな風にGetActiveWindowから再びCMyWndを取り出せるようにしたい。 CMyWnd* w = dynamic_cast<CMyWnd*>(CWnd::GetActiveWindow()); あ、もちろんこれは例だから、実際こんな生ポインタむき出しは勘弁してくれ。
11 : VCLを知らぬとな
12 : そうだ、mzc.hのMzcIsXPThemedでLoadLibraryしているけど、 LoadLibraryは絶対パス指定しておけ。 偽物のDLLを読み込む脆弱性が話題になったばっかり。 http://slashdot.jp/security/article.pl?sid=10/08/23/072200 LoadLibraryで絶対パスを指定しなくていいのはSxS DLLの場合だけ。 http://d.hatena.ne.jp/NyaRuRu/20040931
13 : この板は>>1 の日記スレなのか? まあどうでもいいが、MFCはともかくとして、 Win32++では何が問題で、このMZCは何を解決する方針なんだ? まずはそれから始めろや>>1
14 : >>2 ただのラッパーでいいのがありますか? >>3 Rebarが簡単に扱えて、ツールバーやダイアログバーの取り外しができるような。。。 >>6 それは私の専門外です。 >>7 WTLを使うにはATLが必要じゃなかった? >>8 修正しました。 basic_stringは書き込み可能なバッファとして使えないから、 あまり好きじゃない。 >>9 WinSTLって初めて聞いた。使ってみることにする。 > コンストラクタでLock→デストラクタでUnlockする補助クラス欲しい。 検討中。
15 : >>10 >えー、またCXxxクラスオブジェクトを生ポインタで持つの。 mzcwin.cppのどのあたりのコードのことですか? >CWndコピー返しで本当にいいのか? アップキャストはできたほうがいいですね。 やっぱりポインタの方がいいのかな。。。 ハンドルむき出しだと、 コンストラクタでメンバーが初期化できないからだめか。 コンストラクタの代わりのものを用意するか(FromHandleとか)? 検討中。 Version 0.0.1になりました。全然できていない。
16 : HandleMapについてはMFC方式がベストと判断しました。 CWnd::FromHandleを実装したいと思います。
17 : >>14 今度のC++の規格改定で、basic_stringの要素が連続する保証がつく。 そのため、こんなコードも合法になる。 std::basic_string<TCHAR> s; s.resize(MAX_PATH); DWORD length = GetTempPath(MAX_PATH, &s[0]); // エラー処理省略 s.resize(length); まあ、それを根拠に今までのC++ライブラリの実装でそんなことやっていいのか、と言う点は意見の割れるとこだろう。 一応、どいつもこいつもこんなコード動くような実装にはなっているけど。
18 : コンパイラは何をどのバージョンからサポートすんの
19 : VC++しか眼中にないライブラリ 日本語がまともに通らないライブラリ なんだかんだでWinAPIなみにグチャグチャになるライブラリ そんなものならいくらでもある gccで安心して利用でき、日本語がごく普通に通り、見通しのいいライブラリはあまりない そんなGUIライブラリがあるなら喜んで利用させていただくよ
20 : あー、確かにg++で使えるのは魅力的だなあ。 あとなんでDT_METAFILEのときだけPlayMetaFileなの? と思ったが、MFCもWTLもそうしているのかー。 DisableThreadLibraryCallsはDLL_PROCESS_ATTACHのときに呼ぶんだぞ。 ただ、コンストラクタ・デストラクタの呼び出しが絡むから、 C++では本当に使って大丈夫かよく調べておいた方がいい気がする。
21 : あと、拡張メタファイルを描画する関数も用意してよ。 Win32ではただのメタファイルなんて過去との互換のためでしかないから、めったに使わないよ。
22 : バージョンアップ! 0.0.3 >18 BCC55、MinGW、VC++6はサポートしたいと考えています。 >20 修正しました。 >21 拡張メタファイルをサポートしました。
23 : BCC5.5もサポートするなら早めに検証やっといたほうがいいぞ あれはいろいろ面倒くさい
24 : 車輪の再発明
25 : バージョンアップ0.0.4
26 : それよりOSASKかMONAOSのSATAドライバ作ってよ AHCI対応で
27 : MFCってIDE前提っぽいとこあってエディタ上で書くにはめんどすぎる上に 結局Win32API併用しないと役に立たない クロスプラットフォームなんて夢のまた夢 いっそもっと抽象化してAWTみたいなのに徐々に発展していって欲しい そしたらマジ使いたいです…
28 : Object Windows Library Inprise/Borland http://cc.codegear.com/partners/bcb5/exclusive/object_windows_library/index.html This release of the Object Windows Library is based on the OWL 5.4 release and is denoted as OWL 5.5. It has been ported to Borland C++Builder 5 by Yura Bidus, author of OWLNExt. It includes source code and debug and release libraries of, OWL, BIDS and OCF
29 : OWLNext project home ~ http://owlnext.sourceforge.net/ ~ About OWLNext ~ http://owlnext.sourceforge.net/about.html Advantages of using OWLNext: * OWLNext is an object-oriented framework, built on top of the Windows API without adding much overhead. * OWLNext is pure C++ library, which does not use any vendor- or compiler- specific extensions. * OWLNext fully supports developing Unicode applications. * OLE, OCX and ActiveX support (server and consumer) * OWLNext can be used with wide range of C++ compilers. Currently it is tested with o CodeGear Developer Studio 2007 and 2009 o Borland Developer Studio 2006 o Borland C++ Builder 6.0 o Borland Free C++ Compiler 5.5 o Borland C++ 5.01/5.02 o Microsoft Visual C++ 2003, 2005, 2008 o Microsoft Visual C++ 6.0 Also in the past it has been working with Borland C++ Builder 1.0-5.0, Microsoft Visual C++ 5.0 and GCC and has been ported to Linux using WINE * OWLNext offers easy upgrade path for porting legacy OWL applications to modern compilers and operating systems. * OWLNext is open-source project, it's based on contributions and directions from it's community
30 : バージョンアップ! 0.0.5
31 : >>30 車輪の再発明乙!
32 : 新Verおつかれさま
33 : PreTranslateMessageをどんな風に実装しようか。。。
34 : ん?どういうことだ片山 何を悩んでいる
35 : 使ってないクラスをトリムしてスマートなライブラリをリリース時にバンドルできる仕組みを設けてくださいな。
36 : >>31 四角い車輪を作ってるから再発明じゃないよ
37 : LGPL v2.1 なら動的リンク用のヘッダ用意してくれ
38 : 0.0.6 >>35 そういうときはスタティックライブラリを使ってください。 >>37 mzcver_.hに動的リンクのコードを書きました。
39 : VC10でコンパイル通らないんだけど
40 : スタティックにしてもdllのファイルサイズは変わらないじゃない。
41 : 0.0.7 >>39 VC++を用意しているのでもう少しお待ちください。 >>40 DLLを使わなければいいじゃん。
42 : ver 0.0.9 次のようなエラーが出たんだけど、どうすればいい? LINK : fatal error LNK1104: ファイル 'mzc0vdam.lib' を開くことができません。 NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\link.EXE"' : リターン コード '0x450' Stop.
43 : VC++6.0を使う
44 : ver. 0.0.10 VC++でもnmakeを使えばビルドできるようになりました。ところで #pragma comment(lib, "...") みたいにソースコードからリンクする方法がMinGWでもありませんか。
45 : Borlandでプリコンパイル済みヘッダーを使う方法を教えてください。 それと、Borland Implibで次のような警告がでるけど、 どういう意味でしょうか。教えてください。 Warning duplicate symbol: @CWnd@SendMessageW$quiuil Warning duplicate symbol: @CWnd@UnsubclassWindow$qv
46 : 厨房でも辞書の使い方くらい知ってるぜ
47 : 「警告:シンボルが重複している」 英語の意味くらいは分かりますが対処法が分かりません。 関数のインライン化を無効にすればいいのでしょうか?
48 : >>45 -Hc プリコンパイルヘッダをキャッシュする。 (詳しい説明がほとんどないのでよくわからんが、たぶん一時的にメモリに確保するんだと思う。ユーザーズガイドの「C++Builder のコンパイル時間の最適化」あたりを参照) -He 外部ファイルを使ってプリコンパイルヘッダを使用可能にする。 (詳細不明。ヘルプのどこを見ればいいですか?) -Hs スマートキャッシュしたプリコンパイルヘッダを使用可能にする。 (詳細不明) -Hu プリコンパイルヘッダを生成しないが、すでに存在すれば利用する。 (プリコンパイルヘッダ名を指定したい場合は、-H=filename と共に使えばいいようだ) プリコンパイルヘッダって勝手にでかいファイル作られて気分悪い コンパイルなんか遅くてもいいからコンパイラは余計な事しないで欲しい
49 : 定義を *.inl に分けてるみたいだけど *.h から常に読み込まれてて意味なくないか? それが解決したところで dll にしても CThreadLocal とかを使う限り LGPL 感染を免れない もうちょっと考えてくれよ
50 : コンパイルに3時間とかかかっても同じことを言うのか?
51 : >>50 そのくらいの規模のソース扱う場合は少しの変更でもコーディングの何倍も 時間をかけて設計書書くのが普通だけどもしかしてPMが無能な不幸環境にいるのか コンパイルなんか何度もするものじゃないだろうよ
52 : windows2000のコンパイルで一晩とか言ってたな MSの開発者も無能なのか
53 : キャッシュが機能気に入らないなら 自分でpch無効に設定して毎回リビルドすりゃいいだろ 勝手に時間の浪費しとけ
54 : 定義をinlに分ける(それを.hからincludeする)のは別に珍しくないと思う。 ATLやMFC、WTL、Boostでもときたま見かける。
55 : dllなりlibなりにして使うときにinlまでincludeしてたらだめだろ それならそれで別のヘッダを用意しなきゃならなくなる
56 : ライセンスの問題をコンパイル時間がどうとか 問題をすりかえてるのがおかしいんだろ つまらん流れにした >>50 がわるい
57 : 作者の方は、どの程度、LGPLであることにこだわってます でしょうか?GNUの考え方に賛同して行動されているのなら ゴメンなさいですが、あまり強く思われていないならば、 wxwindowライセンスやCPLのようにバイナリ配布制限の 緩いライセンスについて考えてもらうことはできますでしょうか? それらならば、dll化の必要性がかなりなくなるでしょうし、 (L)GPLを敬遠してる人でも興味をもつ可能性が増えそうに 思うのですが。 ※wxwindowライセンスは基本はLGPLだけどバイナリ配布に ついてはアプリ作者がわりと自由にライセンスできる。 CPLもバイナリはとやかくいわず、ただ、ライブラリ自体を修正 した場合は弄ったライブラリをCPLで公開する必要がある。 (といった感じだったはず)
58 : s抜けてた. wxwindow ライセンス → wxWindowsライブラリ・ライセンス
59 : バージョンアップ0.0.12! FreeBSDライセンスにしました。CTimeとCTimeSpanを追加しました。 コンパイルが速くなりました。 <mzc/config.h>で_MZC_NO_INLINESを#defineすると、 次のようなエラーが出てきます。なぜでしょうか? Error: 外部シンボル 'CThreadLocal<MZC_THREAD_DATA>::~CThreadLocal<MZC_THREAD_DATA>()' が未解決
60 : 初心者スレみたいなこときくなよ あとstd::stringとか継承するな
61 : VC++2008だけどこれなんだろ? -ologoてどっから出てきたんだろう リソースコンパイラが/nologoを誤解釈してるのか rc /r /nologo /i"include" /D_DEBUG /d"MBCS" /d"_MBCS" /fo"mzcdll.res" mzcdll.rc fatal error RC1106: invalid option: -ologo
62 : 古いrc.exeにはnologoオプションがない っていうかちゃんとテストしてからリリースしてくれ mzcdll.rcの#include "config.h"だってエラーになるし
63 : >>59 ぱっとみたところ、メンバー関数テンプレートを .inl 側に 置いてるのが不味そう。ヘッダ側へ。 ところで、メインで使ってるコンパイラは何?
64 : 0.0.13! ライブラリ名の間違い修正。 CWndの規定のメッセージ処理を追加。mzccmn.cppを追加。 >>60 検討中。>>62 /nologoを取り除いた。>>63 BCC55 MinGWはUnicodeアプリをサポートしていますか?
65 : >>64 MinGWでのUnicode化については自己解決しました。
66 : >>65 BCC55(フリー版)で試したけど mzcres.h だと下のヘッダコメント化しないとだめだった #ifdef RC_INVOKED //#include <winresrc.h> #endif //#include <dlgs.h>
67 : _MZC_NO_INLINESでODR違反になる だいたい_MZC_NO_INLINESって予約語じゃないか他のにしてくれ #define inlineでのキーワード削除も気に入らない 考えなしにこんなことしても今みたいにバグ出してるだけで何の恩恵も受けられない そんなのはコンパイラオプションでやれ
68 : >>67 MFCのAFX_INLINEを参考にしているのだが、inlineかout-of-lineか に関するODR違反はそれ程、重要なことだろうか。 _MZC_NO_INLINESはC/C++の予約語ではない。 inlineのout-of-line化のコンパイラオプションに関しては、 サポートしていないコンパイラもある。
69 : _MZC_NO_INLINESは、コンパイラオプションで定義しろ、という 意味なら、賛成する。それならば、<mzc/config.h>は使わないという 方向で。
70 : アンダースコアで始まる処理系予約の識別子を使ってることをつっこまれてるんだろ
71 : > MFCのAFX_INLINEを参考にしている 参考にしたならちゃんとMZC_INLINEとかでやるべき > ODR違反はそれ程、重要なことだろうか。 ビルドが通らない > サポートしていないコンパイラもある インライン展開に関してinlineの有無を無視せず 無効にするためのオプションも存在しないコンパイラって>>22 の中にあるの? あるいはこれ以外の環境もサポートするの? まあやりたいならやればいいと思うけど
72 : >>66 のヘッダってincludeする必要あるの?使ってなくね?
73 : MFC,win32++超える、と大口のわりには、ライブラリをnamespaceで まとめずグローバル名前空間汚しまくるとか、min,maxマクロとか 非常に残念なモノを見る思いなんだが。 60をどう解釈したのか…オレstringを造り始めてないよね?
74 : 0.0.15! バージョン制御を厳密にした。MinGWで__wargvを使用可能に。 >>70-71 ありがとうございます。修正しました。 >>72 リソースを扱うときに必要です。>>73 min,maxを大文字にしました。 CWnd::CreateGrayCaret、CWnd::UpdateDataの実装がわからない。 次はサンプルを充実させなければ。MinGWで次のような警告がでます。 dllwrap: no export definition file provided.
75 : > min,maxを大文字にしました。 なにこれ笑うところ? VC6対策かとも思ったけどコンパイル通らないし
76 : >>75 僕、VC++6を持っていないからエラーメッセージを載せてくれると ありがたいのですが。
77 : VC6 なんてサポートする必要ないだろう。 いつまでそんな古いコンパイラつかってんだってかんじ
78 : VC6はVB6並に現役だろ 某スクリプト言語もWindows版はVC6でビルドされてるはずだし
79 : VC6使ってる人に質問だけど プロジェクトがネットワークドライブ上にあると コンパイル中にIDEまるごと死んだりする?
80 : >>78 VC6の現役って、メンテナンスやVC6資産活用のための現役じゃね? 今 VC6 使ってる人間が、わざわざVC6でコレを使うとは思えないよ。 だいたい今これに興味があるモノづきなら、少なくとも Express くらい は入れるだろうし。 古いコンパイラ気にするよりも、boostとかいまどきの他のC++ライブラリ との共存に気を配って欲しいよ。 そういう意味では BCC55 も… C++98としては不十分な出来だし、 最適化へぼいからinlineでなくマクロ使う誘惑にかられるし。
81 : >>1 がBCC5.5メインにしてるような化石君だからしかたないね
82 : 今週はHTMLCONVの作成に忙しかったから、更新はなし。 ごめんなさい。
83 : 列挙型は専用の名前空間に入れろ。 Signal::Type a=Signal::ON; と呼び出せるようにしておくと、 列挙型の名前を表す名前空間をUSINGで省略出来て便利だ。 ただし、グローバルでUSINGはするなよ。
84 : そもそもそのままでSignal::ONと書けない仕様がおかしい
85 : C++0xまで待ってね
86 : 車輪の再発明をするスレは、ここですか?
87 : BCC55つかうくらいならTurbo C++があるじゃん
88 : >>87 どこかに OWL の資料が落ちてませんかね。いちどチェックしたいと思って。
89 : mext owl だかなんかがあったような気がする
90 : http://en.wikipedia.org/wiki/Object_Windows_Library http://sourceforge.net/apps/mediawiki/owlnext/index.php?title=Main_Page
91 : 0.0.16! CComboBoxExを追加。サンプルのDialogAppを追加。 CWnd::EnableToolTips、CWnd::EnableTrackingToolTips、 CWnd::CancelToolTips、CWnd::FilterToolTipMessageあたりがわからない。 MFCのソースが見れる人、誰か教えて。
92 : http://www.codeproject.com/KB/toolbars/tearoffrebars.aspx これ実現させてみたいな。。。
93 : VC10でエラー出るしTRACE0なんて古いMFCマクロどこからコピペしてきたんだ
94 : >>92 させりゃいいじゃん ソース見てパクるだけでしょ
95 : ttp://www.dotup.org/uploda/www.dotup.org1335350.txt VC6SP6 + Platform SDK 2003 February でのログ まあVC6のサポートは荷が重すぎるだろうし考え直したほうがいいんじゃないか
96 : >>91 CWnd::EnableToolTips ツールチップ有効? → // nothing to do if tooltips not enabled →return TRUE // cancel tooltip if this window is active →CancelToolTips(TRUE); // remove "dead-area" toolbar →SendMessage TTM_DELTOOL else // if already enabled for tooltips, nothing to do CWnd::EnableTrackingToolTips 同上。フラグ変えてるだけ CWnd::CancelToolTips // check for active tooltip →SendMessage TTM_ACTIVATE→FALSE // check for active control bar fly-by status →CControlBar::SetStatusText CWnd::FilterToolTipMessage なげえ キー、マウスメッセージ見たりウィンドウが生きてるか見たり トラッキングツールチップの場合マウス追って動かしたり
97 : 0.0.17! CView、CScreenViewを追加。 CWnd::SetToolTipTextでツールチップを設定するようにした、が、 なぜかsamplesのDialogAppは、ツールチップが表示できない。 なぜかstringa_test.devがundefined reference to `WinMain@16'で失敗する。 Code::Blocks + BCC55でビルドすると、なぜか実行できない。
98 : うpおつおつ
99 : VC10: DEFS = /DWINVER=0x500 /D_WIN32_WINNT=0x500 /D_WIN32_IE=0x500 /DJAPAN エラー DEFS = /DWINVER=0x500 /D_WIN32_WINNT=0x500 /D_WIN32_IE=0x500 /DJAPAN /DMZC_NO_INLINES エラー
100 : >>1 いつになったらそのMFC、Win32++を超えるスパゲッティライブラリは完成するんだ?
101 : 0.0.18! CCheckListBoxとCDragListBoxを追加。 使えそうな関数をいくつか追加。 CWnd::SetToolTipTextでツールチップを表示できるようになった。 >>99 修正。>>100 分からない。
102 : うpおつ
103 : 蓮舫「Boostライセンスじゃだめなんですか?」
104 : >>100-101 スパゲッティさでは既にかなり強烈に超えている。
105 : BorlandとMinGWでデバッグ(ステップイン)できますか? MBCSとUnicodeのハイブリッド構成にしようかと思いますが、 単純に考えて2倍以上のコストがかかるので、躊躇しています。 CSplitterWndとCControlBarの実装は難しいですね。>>103 駄目です。
106 : いまさら MBCS サポートする意味あんの? NT 系は内部で Unicode に変換されて処理されるし。 いまさら Windows 9x ターゲットにするやつもいないだろう。
107 : 手間は同じなんだから Unicode決め打ちにする意味が無い
108 : 同じじゃないだろう。 文字列いじる場合はマルチバイト特有の処理入れないとだめなこともあるだろうし。 とは言っても、Unicode もサロゲートペアの処理が入るけど。
109 : mmsystem系はマルチバイトファイル名しか受け付けないってのは治癒したの?
110 : 0.0.19! CMultiFileDialog, CImageFileDialog, CFolderDialogを追加。 ビットマップに関する関数を追加。 CDragListBoxの動作がおかしい。
111 : ::SetRect使うコードはじめて見た
112 : 便利だよ
113 : おそい
114 : 20クロックくらいじゃねーの?
115 : >>111 wxWidgets,fltk,fox,Win32++ どれもSetRect使ってるよ とうか、普通に使わない?
116 : だからvoid CRect::operator+=(const CRect*);なんてものがあるのか
117 : >>116 意味わかんない CRectとPODのRECTは別物じゃん
118 : >>117 意味わかんないだろ。 何も自分で考えることなく他のライブラリにあるからとMFCのをそのままコピってくるから こんな意味不明の用途不明なメソッドが入ってるんだよ。
119 : >>118 ? 君の言う意味が分からないって言ってるんですけど・・・
120 : test
121 : ああ、1発やりてえ!
122 : void f(const CRect&rc){ CRgn rgn; rgn.CreateRectRgnIndirect(&rc); 頭が二十年くらい遅れてるんじゃないの
123 : 0.0.20! CPropertySheetExを追加。testにwildcard_testを追加。 samplesにPropSheetAppを追加(バグあり)。 mzcwinにビットマップの減色処理の関数などを追加。 現在確認しているバグ: CDragListBoxの動作がおかしい。 CPropertySheetが表示されず、例外発生。
124 : うpおつ Boostライセンスじゃだめなんですか?
125 : だめ
126 : 例外を使わない宗教上の理由でもあるのこの人
127 : またコンパイルエラー出てる
128 : C++でクソ重い例外投げてるやついるの
129 : MFCが世に出た頃ならまだしも、今の例外は軽いよ このライブラリみたいに戻り値チェックを強要するのと比べると例外使って書いたほうが 読みやすいし俄然早い
130 : C++はRAIIからみの構造上どうがんばっても例外重いんじゃ Javaとかと勘違いしてない?
131 : "例外"なんだから多少重くてもいいんじゃない?
132 : RAII?RTTIのこと? 例外と実行時型情報は全く別のものだよ コンパイラオプションだって別(VC++なら/GXと/GR)
133 : RAIIがどうなったらRTTIになるんだ
134 : RAIIでなんで例外が重くなるのよ だいたいC++は非RAIIに書ける言語だし それにこのライブラリRAIIのかけらもないし
135 : 例外投げられたらスタック巻き戻してデストラクタ呼ぶ処理走るでしょ 例外がcatchされるまで呼び出し元駆け上がってずっと行われるんだよ
136 : Java等の例外は違うの?
137 : 例外が投げられた次の処理は、アプリごと死ぬとか、ユーザーに再入力求めるとか、 5000ms待ってリダイレクトするとかなんだから、例外を使わない時より50ms遅くなろうが誰も気にしない。 そんなものよりエラーの発生していない、例外が投げられないときの速度の方が重要だろう。
138 : そもそも 誰も使っちゃいないんだから 気にする必要なし
139 : んなこといってもこのライブラリを参考にする奴が出てきたら困る
140 : バイナリ境界に配慮した例外の使いかたが>>1 に出来るかは厳しいところ
141 : >>136 デストラクタ呼ぶ必要ないからロングジャンプするだけだからローコスト だからいたるところで例外が使われてる
142 : JavaはGCまかせだからね まあC++でエラーをreturn等で返しても デストラクタを呼ぶ必要があるのは変わらないと思うけど
143 : あーなるほど デストラクタを呼ぶのはGCだから例外時には呼ばれないのね
144 : 正直コンストラクタ内で投げる以外はC++で例外は自重するなあ あとはテキストフォーマットのパーサ書いてると やたらと使いたい衝動に駆られるくらいか
145 : Access Violationの構造化例外のようです。 samplesのPropSheetAppをデバッグしたら分かるように、 CPropertyPageからCDialog::_DialogProcが呼ばれるが、 なぜかWM_INITDIALOGでlParamの値が不正。原因不明。
146 : ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☟ ☟ ☜ ♥ ♥ ☞ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☜ ☜ ♥ ♥ ☞ ☞ ☞ ☞ ☟ ☟ ☟ ☜ ☜ ☜ ♥ ♥ ☞ ☞ ☞ (^ω^; ) ☜ ☜ ☜ ☜ ♥なんだか無償にコピペしたくなる ♥ ☞ ☞ ☞ ☞ ☝ ☜ ☜ ☜ ☜ ☜ ♥ ♥ ☞ ☞ ☞ ☝ ☝ ☝ ☜ ☜ ☜ ☜ ♥なのに初心者にはコピペできない ♥ ☞ ☞ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ☜ ♥ ♥ ☞ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ♥ ♥ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
147 : ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☟ ☟ ☜ ♥ ♥ ☞ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☜ ☜ ♥ ♥ ☞ ☞ ☞ ☞ ☟ ☟ ☟ ☜ ☜ ☜ ♥ ♥ ☞ ☞ ☞ (^ω^; ) ☜ ☜ ☜ ☜ ♥なんだか無償にコピペしたくなる ♥ ☞ ☞ ☞ ☞ ☝ ☜ ☜ ☜ ☜ ☜ ♥ ♥ ☞ ☞ ☞ ☝ ☝ ☝ ☜ ☜ ☜ ☜ ♥なのに初心者にはコピペできない ♥ ☞ ☞ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ☜ ♥ ♥ ☞ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ♥ ♥ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
148 : >>141 たしかにJavaは気安く例外を使う文化があるのはその通りだと思う。 ただ、例外のコストではデストラクタとfinallyで違いが生まれるわけがない。
149 : 0.0.21! CMonthCalCtrl、CDateTimePickCtrl、CIPAddressCtrl、 CPagerCtrlを追加。EDITコントロールでCtrl+Aが 使えるようになった。mzcwinにMzcFilter3x3Bitmapと いう関数を追加。CDragListBoxのバグが取れた!
150 : DEFS = /DWINVER=0x500 /D_WIN32_WINNT=0x500 /D_WIN32_IE=0x500 /DJAPAN DEFS = /DWINVER=0x500 /D_WIN32_WINNT=0x500 /D_WIN32_IE=0x500 /DJAPAN /DMZC_NO_INLINES あいかわらずのコンパイルエラー
151 : 0.0.22! CMinMaxInfo,CWaitCursor,CAccelを追加。CWinAppを強化。 MzcCreateRgnFromBitmap関数を追加。>>122 ,>>150 修正。
152 : 文字列クラスの実装を悩んでいる。 std::stringはMBCSに未対応なのでダメという結論。 shared_ptrを使ってMFCのCStringのようなものを考えている。 何か実装のいいアイデアがあったら教えてほしい。
153 : 特にクロスプラットフォーム考えないなら、wchar_tは2byte文字として見られるし std::wstringでいいんじゃないの
154 : http://msdn.microsoft.com/ja-jp/library/3tdb471s これが解決されるのはいつ? 64bit対応はいつ?
155 : >std::stringはMBCSに未対応 どういう意味?
156 : charの配列がstd::stringと定義されてるから。
157 : それの何が問題?
158 : ソ 表
159 : SJIS以外のMBCSを突っ込めば問題起きないだろ
160 : >>159 Win9xもターゲットにしてるんだから無理だろ そもそもソースがShiftJISだろうしリテラル使うのすらめんどくならないか 変なコードページ強制するとかライブラリでやることじゃないな そういう意味で>>1 はちゃんとコードページ吸収するようなの作ってくると期待 だよな?>>1
161 : >>158 それって問題になるのリテラル使うとき以外にある? SJISを使うことに対する問題を切り分けなければいくつかありそうだけど…
162 : >>161 ファイル名からパス名抜き出すときに正しくパス名取れないとかあったなあ バックスラッシュを文字列末尾から検索すると漢字2バイト目の\が捕まる a:\src\ソース.c ⇒ a:\src\・
163 : まさにこれです トン
164 : >>162 「\」の検索って、SJISの制限って考えてたから、気になったことないな… あと、パスの変換は、ロングファイル名が出来てから、 (ショートファイル名の命名ルールが適当であることを知ってから) APIを使うようにしてるから、問題になったことないし… 気になるもん?
165 : 0.0.23! 文字列をCStringA/Wに。CFindFile,CResizeeDialog,MzcInputBox追加。 samplesにResizeeDialogAppを追加。 >>154 なるべく64bitに対応したコードを書いています。 >>155 MBCSはマルチバイト文字列の略でShift_JIS、UTF-8などの文字列。 文字列「表」はSJISで"\x95\x5C"なので'\\'=='\x5C'と衝突。
166 : またVC10でコンパイル出来なくなった
167 : >>166 チェックする時間がないので、また来週(再来週かもよ) Windowsのパス名はややこしい。 http://www.ipa.go.jp/security/awareness/vendor/programmingv1/b08_01.html
168 : MBCS対応はVCLがしっかりしてるからそこからパクればいい
169 : >>165 それはMBCSだから駄目なのではなくSJISだから駄目なんでしょ? windowsのパスはAPI使うのが一番だよ
170 : そのAPIがまたgdgdだからアレなんだろう セパレータに / が使えたり使えなかったりとか MAX_PATHまでしか扱えなかったりとか
171 : >>170 2000やXPでできることを9xで出来るようにするとか(あるいはその逆)、 仕様を統一しようと思うと思うように動かないけど、 各処理系に合わせ変換しますってことにすればも特に問題にならないと思うけど?
172 : Microsoft は何故パス区切りを \5c にしたのでしょうか?
173 : >>172 cp/m用に作ったコマンドのスイッチがスラッシュだったかららしい… つ ttp://ja.wikipedia.org/wiki/CP/M
174 : なんでスラッシュにしなかったんだろう
175 : コマンドとスイッチ(オプション)の間にはスペースが必要ない 例) dir/a この場合、dirはディレクトリ名なのか、コマンドなのか解析が出来ない そのため、パスの区切りをバックスラッシュにしたと思われる
176 : 仕様書いたやつバカす 引数格納領域メモリはどうせMD-DOSと同じで固定サイズだろうから 節約にもならないだろうし意味不
177 : >>176 そのころは、まだパスの概念がなかったらしい。 悪いのは、その仕様をパクってMS-DOSを作ったMS その後、パスの概念を追加するときに>>175 の問題が発覚
178 : >>176 >引数格納領域メモリはどうせMD-DOSと同じで固定サイズだろうから >節約にもならないだろうし意味不 MD-DOS とか言う謎の OS のほうが意味不
179 : マクドネル・ダグラス マクドナルド …時代的にこんなもんか?
180 : ミラクルドリル
181 : ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☟ ☟ ☜ ♥ ♥ ☞ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☜ ☜ ♥ ♥ ☞ ☞ ☞ ☞ ☟ ☟ ☟ ☜ ☜ ☜ ♥ ♥ ☞ ☞ ☞ (^ω^; ) ☜ ☜ ☜ ☜ ♥なんだか無償にコピペしたくなる ♥ ☞ ☞ ☞ ☞ ☝ ☜ ☜ ☜ ☜ ☜ ♥ ♥ ☞ ☞ ☞ ☝ ☝ ☝ ☜ ☜ ☜ ☜ ♥なのに初心者にはコピペできない ♥ ☞ ☞ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ☜ ♥ ♥ ☞ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ♥ ♥ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
182 : 816 デフォルトの名無しさん [sage] 2011/02/23(水) 11:47:18.93 ID: Be: 206 デフォルトの名無しさん [sage] 2011/02/23(水) 00:30:05.97 ID: Be: かってに、google に甘い期待をしているんだけど、 ttp://sourceforge.jp/magazine/11/02/22/104206 これとかを見ると、google 的には、 C++ は Web アプリみたいにして、 Android に持っていくつもりなのかな。 プログラマのヘマでセキュリティーホール作られるよりは、 制限あっても、sandbox 内で…って感じで。 Javaが選ばれた理由も、そんなんじゃなかったっけ? 817 デフォルトの名無しさん [sage] 2011/02/24(木) 02:23:09.35 ID: Be: 何で方々にコピペしまくってるんだ? NaCl に興味があるなら、インストールして試してみると良いよ Google が開発しているプログラム実行環境(Native Client : C/C++, Native Activity : C/C++, Dalvik : Java, V8 : JavaScript、 Go : Go、Unladen Swallow : Python)の中でどれが一番長生き するか調べて、ブログにでも載せておいてくれると助かるわ
183 : 0.0.24! CKernelHandle, CProcessMaker, CSecurityAttributes, MzcGetFileTitle, MzcCreateMapped32BppDIB, MzcSimplifyPolyline, MzcLineSegmentPointDistance, MzcDumpBinary, MzcDumpMemoryStatus, CStringList, CStringVector, MzcJoin, MzcSplit, MzcPointDistance, CSecurityDescriptor, MzcCreateThread, MzcEndThread, MzcDumpVirtualWalkを追加。CStreamをCBinaryに改称。
184 : うpおつおつ
185 : MinGWはMBCSサポートが不十分なため、MinGW版はMBCS未サポートです。 MBCSでUTF-8のサポートは不要みたいですね。すみません。 他に足りない機能などがあれば教えてください。 Doc-Viewアーキテクチャって必要だと思いますか?
186 : じゃあそろそろhWndとかを完全に隠蔽してjavaのSWTみたいに Windows以外の環境へも移植できるような形にして欲しい
187 : そうだね
188 : VC10で使えない x64で使えない のを直しておくれ
189 : 0.0.25! MzcCreate8BppGrayscaleDIB, MzcCreate8BppDIBFromAlpha, MzcSet8BppBitsTo32BppAlpha, CLabelMap, CFileVersionInfo, MzcFlipBitmapH/V, CHyperlinkCtrl追加。CPropertySheetのバグ修正。 VC++2008サポート。>>186 難しい。>>188 VC10でビルドできなかったのは 修正しました。64ビット環境が無いため、x64対応は無理(お金の問題)。
190 : 相変わらずVC10でビルドできないけど
191 : 微妙にMzcGetBrightnessの重み修正してるのが細かいなw
192 : >>189 無料で使えるWindows SDKに64ビットコンパイラが含まれてる
193 : 数年前ならともかく今時新規開発で64ビット対応しないとか 既存ライブラリ超える気があるの?
194 : じゃあお前が金を出して検証できる環境を用意してあげれば?
195 : >>194 ビルドまでなら無料で出来ますが?
196 : 環境ってPCも含めてだと思う
197 : Win32で使えたらだいたいWin64でも使えるっしょいや知らんけど でもコンパイルしないことには始まんないと思うよ
198 : >>196 32bit版でも64bitのビルドは出来るんでないか? いや、EE使ってないから本当のとこは知らんけどね
199 : >>198 32ビットOSでも64ビット用にビルドはできる。 しかし、実行は当然出来ない。
200 : OSは7の評価版使えば無料。 まだダウンロードできるっぽい。
201 : >>199 デバッグもできないの? って出来ないか… >>200 CPUが32bitなんじゃね?
202 : 32bitなCPUてなかなかに古くね?
203 : >>202 atomとかなら、そんなに古いとも言えないかもよ?
204 : 地震大丈夫か? 0.0.26! samplesにDialogApp2、ResizeeDialogApp2を追加。 CIconMenu, CWebBrowser, {Ansi,Wide,Text}To{Ansi,Wide,Text}, MzcWideToUTF8, MzcUTF8ToWide, CCommandUIを追加。 様々なバグ修正。WM_CTLCOLOR*のサポート。
205 : 放射線やばい 更新おつ
206 : 夕方電気が止まるらしい
207 : どうでもいいけど停電の範囲をぼやかすのは止めて欲しい っていうか東電って杜撰すぎね?
208 : 0.0.27! CResizeePropPage/CResizeePropSheet, MzcSetFileTitleを追加。DLLのサポートを中断。 samplesにResizeePropSheetApp、PropSheetExApp(バグあり)を追加。 いくつかのバグ修正。mzctempl.hとmzccoll.hを追加(作りかけ)。
209 : http://www.geocities.co.jp/katayama_hirofumi_mz/pdf2img/ MZCでこんなソフトを作ってみた。 【告知!】 もうすぐホームページを移転する予定です。
210 : Qtよりも使い易いの?
211 : >>209 どんどん使ってけば使い勝手も良くなってくだろうし良いね でもページ移動時のモザイクはどうにかなりませんか!
212 : 配布場所変わったよ: http://katahiromz.web.fc2.com/mzc/ 0.0.28! mzctemplとmzccollを完成。STL実装をmzccollで 置き換え。template_testを追加。MzcGetErrorMessageを追加。 >>210 現状ではダイアログしか作れない。無念。
213 : 0.0.29! CList::Sortを追加。samplesにConsoleAppを追加。 ライブラリとプログラムののビルド時に_MZC_GIF,_MZC_JPEG,_MZC_PNGを #defineすると、画像読み込み・書き込みが可能に。さらに PNG画像はリソースに埋め込み、読み込むことができる (id PNG "file.png")。必要な画像ライブラリはこちらから: http://katahiromz.web.fc2.com/win32/images.html
214 : だからアンダースコアで始まる名前はry
215 : >>(id PNG "file.png") Lispかと思った
216 : CList::Sortはファンクタ渡せないのか というかそんなのはSTL使えばすむことなんだから GUIとかWindows固有の実装を先にやってくれ
217 : つかデータ構造はSTLとBoostで大抵のことは何とかなるからインタフェースだけでいいんじゃないか?
218 : そもそもCList::Sortバグってるし CVector::Sortにいたってはqsort使うというバカっぷり
219 : ああ、clispと掛けたのか
220 : どこに何があるのかわからない致命的な欠陥があるな
221 : >>217 STLだとVC++でのDLL化の際の障害になるようです。 >>218 どんなバグですか? qsortだとダメな理由は? >>220 grep使ってやってください。
222 : VC6なんか捨てろよ
223 : ふりゅいこんぴらーサポートする限り いいライブラリはできない悪寒。
224 : x64で使えない(?)時点でなあ・・・
225 : 64bit(笑)
226 : CListが空以外のときNULL参照するだろ 動作確認してないのか?
227 : qsortがだめな理由 ttps://www.jpcert.or.jp/sc-rules/c-msc34-c.html あとぶっちゃけ重い
228 : ポカーン
229 : 俺も GUI 特化でいいと思うんだよねぇ。 一人でやるなら絞った方がいい。
230 : grepしようとしても何があるか分からんから無理だろ ドキュメント位作れよ
231 : 0.0.30! _MZC* → MZC*。CString{Vector,List}::FindNoCaseを追加。 CDockSite, CToolBar, CStatusBar, CReBar, CDialogBar, MzcGetRelativePath, MzcGetCurrentMessageを追加。TIFF画像サポート。 CMRUListをCMRUVectorに改名。CResizeePropSheet削除。CList::Sortの修正。
232 : >>230 まだ仕様が決まってないから後で。 アルファラボ掲示板でも展開しています。 http://jp.alpha-lab.info/topic-14-0.html
233 : でかいライブラリ作るなら先に仕様決めとかないと後で困るぜ?
234 : int foo(const char *a){ return strcmp(a, MzcWideToAnsi(L"foo")); } int main(){ foo(MzcWideToAnsi(L"TEXT")); } こういう罠を作るのはやめてね
235 : >>234 ???
236 : 意味もなくMBCSに変換させんなヴォケがってことだと推測 int foo(LPCTSTR a) { return _tcscmp(a, _T("foo")); }
237 : MzcWideToAnsiがリエントラントではないので strcmpの結果が0になるか範囲外アクセスを起こす(>>234 では0だろうけど) この関数はライブラリ内部でも使われているため 予想外なところではまる可能性があるというおまけつき
238 : こいつか- struct MZC_THREAD_STATUS { CPtrVector msgstack; CStringA strAnsi; CStringW strWide; };
239 : >>234-238 Win32++を参考にしたのがいけなかったか。。。 単にCStringA/Wを返す、でOK?
240 : >>239 それでおk ATLはそれ用のクラスを用意してるみたいだが
241 : CString使うならそんな関数いらないだろ
242 : 0.0.31! 自己代入のバグを修正。 Mzc{Ansi,Wide,Text}To{Ansi,Wide,Text}を削除。 samplesにFrameAppを追加。XPスタイルのとき、ツールバーの アイコンの色がおかしいというバグあり。
243 : IE3チェックとかどんだけ後ろ向きなんだよwww
244 : 久しぶりにVC10でビルド DEFS = /DWINVER=0x400 /D_WIN32_WINNT=0x400 /D_WIN32_IE=0x300 /DJAPAN /DMZC_GIF DEFS = /DWINVER=0x500 /D_WIN32_WINNT=0x500 /D_WIN32_IE=0x500 /DJAPAN /DMZC_GIF DEFS = /DWINVER=0x500 /D_WIN32_WINNT=0x500 /D_WIN32_IE=0x500 /DJAPAN /DMZC_GIF /DMZC_NO_INLINES エラー出るよ
245 : さすがに類似品と差別化するために古い環境をサポートするんだとしても IE6とVC6くらいからでいいんじゃないか
246 : 古い環境をサポートする意味がわからんわ。
247 : CVector::Sortはあいかわらずqsort使ってるし なんだよMZC_SWAPって C++やる気あんのか
248 : なんでポインタにregisterなんかつけてんだ?
249 : C++0xじゃdeprecated落ちだしな
250 : registerはコンパイラ最適化の妨げになるだけだし 今はつけないほうがいい てか無視するだろコンパイラも
251 : もしかして:構造体の代入ができることを知らない
252 : >>251 うへ、どこのロートルだ。
253 : >>251 何を伝えたいの?
254 : >>253 MZC_SWAP見れば分かる
255 : 構造体が代入出来たらCopyRectの価値なくなるから 代入なんかさせないよ
256 : typedef struct tagRECT { LONG left; LONG top; LONG right; LONG bottom; } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; WINUSERAPI BOOL WINAPI SetRect( __out LPRECT lprc, __in int xLeft, __in int yTop, __in int xRight, __in int yBottom); 型が違うと胃が痛くなるんだが。
257 : >>247 glibcから借りてきたコードなので。次でMzcSwap<T_DATA>で置き換える。 >>248-249 次で削るが、古いコンパイラで動作が遅くなってもしらん。
258 : グラフィック関連関数の高速のため、アセンブリコードを 追加してもいいですか? NASM使えば可能かと思いますが。
259 : 高速化とかは後回しでおk
260 : glibcってLGPLじゃねーか FreeBSDライセンスを名乗りながらなんでそこからパクるんだよ ライセンス軽視するようなまねするな
261 : >>260 すみません。次リリースはLGPLにします。
262 : LGPLなんかにしたら、MFC超えから一気に遠のくというか脱落物だぞ 流用したもの全部消せ
263 : registerってVC6ですら最適化で無視するのに 古いコンパイラってどんだけのブツなんだ?
264 : VC6じゃビルド出来ないし 古臭いコード書くことへの言い訳じゃないの
265 : STLportのsortと_S_sortを使ってみようと思う。解析中。。。
266 : 改悪するくらいならそのまま使えばいいのに
267 : バブルソートやクイックソートくらい一からスクラッチして書けよとは思う。
268 : スクラッチ?
269 : >>268 この場合、「スクラッチして書けよ」≒「0から書けよ」程度の意味。 >>257 registerをつけないと遅くなるコンパイラを知っているなら教えてくれ。 少なくとも私は、16ビット時代のMS-C位しか知らない。 >>256 よく判らんのだが、何故胃が痛くなるんだ?
270 : ボゴソートつんどけばある意味で有名にはなれるな
271 : ここにいる奴らはどんなライブラリ使ってんだ
272 : wxWidgetsとかVCLとかFLTKとか
273 : おれは ATL/WTL で十分だ
274 : ふつーにATLとWTLかな
275 : 0.0.32! ツールバー,CFrameWnd,JPEG,CFindFile,MakeReverseの バグ修正。MzcQSort→MzcSort。MzcSwap,CSDIFrameWndを追加。 サウンド関連の関数追加。CIconMenuにバグあり。 mzctempl.hをmzccoll.hに統合。
276 : test/template_testで実験した結果、 CVector<INT>::SortとCStringVector::Sortはqsortよりも早くなった。 でもCVector<CString>::Sortは遅い。
277 : 比較が遅いんだな
278 : このライブラリに期待してるやついるのか?
279 : 作者のロートルっぷりが面白いのでスレ見てるけど このライブラリをダウンロードしたことは一度もない
280 : 相変わらずswapの実装がよくないな
281 : ここのログを見る限り単なる劣化MFCっぽいしなぁ ライブラリの規模云々の話じゃなくてMFCの悪い部分をさらに悪くしたイメージ
282 : 改悪以前にbcc5.5なんて前世紀の化石コンパイラ使ってるし
283 : CVectorとかCStringとかCListとかのSTLもどきなんか誰が使うんだ?
284 : この1はどれだけ言われようと自分の道を突き進んでくれそうだ
285 : これ通るコンパイラあるの?
286 : 少なくとも現状みたいにまとまっていない状態かつライセンスがLGPLっていう使いにくさじゃ 使おうとは思えないけどもくもくと作業してるのが楽しそうだから傍観してる状態 WindowsならVC++2005以降がフリーで商用利用できるから今更VCLも付かないフリーのbcc5.5は 存在する意味あるのか微妙だな コンパイルした生成物はフリーウェアとしてすら公開できない規約だし
287 : LGPLってオリジナルのソースがついてりゃ商用とかOKじゃないっけ?いや、よく知らないんだが。
288 : 順調に ヘボさ、スパゲッティ具合、使いにくさ、拡張性の悪さ、見通しの立たなさ などの面でスレタイどおり既存ライブラリを超えまくりなのでおk。
289 : 使いもせずに評価するのはおかしいだろ ためしに使ってみた ソース #include <mzc/mzc.h> #include <mzc/mzccmn.h> #include <mzc/mzccoll.h> #include <mzc/mzccom.h> #include <mzc/mzcdlgs.h> #include <mzc/mzcext.h> #include <mzc/mzchtml.h> #include <mzc/mzcmsg_.h> #include <mzc/mzcres.h> #include <mzc/mzcshl.h> #include <mzc/mzcsync.h> #include <mzc/mzctempl.h> #include <mzc/mzcver_.h> #include <mzc/mzcwin.h> #include <mzc/mzcwin2.h> VC10の結果 mzc/mzcwin2.h(220) : error C2504: 'CStatusBarCtrl' : 定義されていない基本クラスが宣言されています。 中略 mzc/mzctempl.h(1002) : fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。 テストしてないってレベルじゃねえぞ
290 : お茶噴いたじゃねぇか
291 : なんだかんだで、とりあえず物を出す奴にはやさしいよなお前ら
292 : >>1 の実力と>>1 が掲げてる目標との乖離があまりにも酷すぎて アホの子をからかうみたいにしかなってないのに、やさしいとかないわ、さすがに。
293 : 0.0.33! CIconMenu完成。アイコン付きメニューが作れます。 詳しくは、samples/FrameAppを参照。>>289 修正。 ツールバーのツールチップが表示されるようになりました。 >>286-287 FreeBSDライセンスのままです。
294 : > FreeBSDライセンス 初めて聞くライセンスの名前だな
295 : これか? http://www.freebsd.org/ja/copyright/freebsd-license.html いつからFreeBSDの一部になったんだ? つか勝手にライセンス文変えてるみたいだけど大丈夫か?
296 : >>295 「The FreeBSD Project」の部分を「Katayama Hirofumi MZ」に 変えただけであり、何の問題もありません。
297 : MZ(エムゼット)は1970年代から1980年代にかけてシャープが販売していたパソコンのシリーズ名。
298 : 総産研のMZ Platformとも被ってるな
299 : 0.0.34! mzcscripを追加。これでJScriptスクリプトを 実行できます。test/script_testでお試しください。 サウンドのループ再生ができるようになった。
300 : SMF(*.mid)をMCIやDirectMusicを使わないで再生したいのですが、 いいサンプルやライブラリはありませんか?
301 : ソフトシンセでも実装するの?
302 : DSPとかやったことないけど音色データをテーブルで持って逆FFTで合成してPCMに流すとかか midiファイルは最初開いた時に再生タイミングを全て解析して 逐次その情報を元に再生するのがいいそうな http://hibari.2ch.net/test/read.cgi/tech/1231649001/
303 : で、GUI 関連の方は完成したの?
304 : ウィンドウフレーム以外 DirectXで描画されるGUIがほしい
305 : D2Dでおk しかしウリ無し、実績無しのライブラリってむなしいな
306 : 独自のルックアンドフィールを持つ ボタンやタブ、リストボックス、スクロールバーを D3DなりD2Dなりでつくるべし
307 : >>306 コントロールのhWndとか丸出しのI/Fな設計なのに考えなしに無茶言うな
308 : もういい自分で作ります
309 : 0.0.35! MCIを使わないMIDI再生をサポート。 mzcsehでGCCのSEHを一部サポート(__finaryを除く)。 >>305 売りナラアルニダ。ホームページに記載スミダ。 http://katahiromz.web.fc2.com/mzc/
310 : Sleepだけよりもマルチメディアタイマーを使ったほうがいいかもね。 かもねかもねそうかもね。
311 : 何このスレ・・・・・・・? /ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | | // ___ \ ::::::::::::::| | | | | | U :::::::::::::| | | .|U | | ::::::U::::| | | | ├―-┤ U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::
312 : いつになったらリリース前にビルド確認することを覚えるのかね
313 : >>311 MZの日記スレにようこそ
314 : >>304 wpf
315 : MCIもMediaPlayerも使わずにMP3を再生する方法はないものか
316 : ISO 11172-3を読んで書くとか フラウンホーファーに金払うとか
317 : >>316 どうやらACMを使えばできるらしい
318 : 特許踏まないように気をつけてがんばれ
319 : midiOutSetVolumeが遅れるのはなぜ?
320 : なんでWindows上で使うことしか考慮してないソースなのにWindows95ですら使用可能な MCIもMediaPlayerも使いたくないと言い出すのか理解できない
321 : ACMだと結局windows依存駄科
322 : LIBSEHのコード拾ってきてSEHに対応しましたはいいけどさ ユーザはこれがMITライセンスだってどうやって知ればいいの? MZC使うなら全部のファイル読んでライセンス確認しろって?ばかばかしいな Copyright (c) 2008 Tom Bramer < tjb at postpro dot net > の部分も削除してるしさ あと、kohn_gifに入ってるやつはLGPLだよな * License: Copyright 2004-2009 under LGPL なんでここ削除してんだ
323 : 他人のライセンス表記を勝手にいじっちゃいかんなー。
324 : いかんよなあ スレタイ通りのことが達せられたときに裁判沙汰になるぜ
325 : やっちゃいかんことのオンパレードだなw これはただちに修正したほうがいいな。
326 : 俺がライセンスだ!
327 : どっかの映画で聞いたような台詞だな 仲村トオルの。
328 : 0.0.36! mzcにCSound,CMidi,CMidiPlayer,MzcGetMusicDeviceCount, MzcStopAllSoundsを追加。CMidiPlayerでfade-outをサポート。 >>320 MCIだけだと機能少ないっしょ。 >>322 確かにMITランセンスだと、License.txtなどに記載する必要が ありますね。kohn_gifについてはHP記載どおり許可をもらいました。 次期リリースで修正します。
329 : ACMでMP3をWAVEにするコードがどっかに転がっていないかなぁ。 キンチョール持ちながら言うことでもないけど。
330 : ライセンス関係を修正しました。
331 : Copyright 2004-2009 Michael A. Kohn. All rights reserved. が入ったFreeBSD License文書がないとだめじゃないの
332 : katayama hirofumi: Fine. I want to release a library that includes kohn_gif with modification under FreeBSD license. mike: what library? katayama hirofumi: That is my own library, named "MZC". mike: what does it do? katayama hirofumi: a MFC-like library mike: for freebsd? katayama hirofumi: yes お茶噴いた
333 : if you give me proper credit, i don't mind を理解することは永遠に無いんだろうなぁ
334 : >>329 MP3の関連特許が全て特許切れになるまで待ってれば?
335 : DirectShowでも使えば
336 : for freebsd?
337 : 本当ネタでやってるのかマジなのかさっぱりわからない
338 : 本気で犯罪まっしぐらなんだろうね
339 : この調子じゃglibcのコードも残ってるだろうし 〜を参考にしたとかいいながらコピペしたところ多いんだろうな
340 : 0.0.37! CSoundでMP3の再生をサポート。CBinaryをCByteVectorに統合。 MzcSetSoundVolume,CBuffer,C*Vector::SetCapacity,CMidiPlayer::WaitForStop, MzcMultiplyAlphaDIBを追加。追加するデータサイズの目安が分かって いる場合にC*Vector::SetCapacityを使えば、データの追加を高速化できる。
341 : >>331 修正しました >>333 License.txtでcreditをgive himしました >>336 勘違い >>339 glibcのは残ってない
342 : うぽつ 毎週updateとかモチベーションどうやって保ってるのか知りたい 俺なら1ヶ月で別のことしたくなって投げるから無理
343 : struct foo{ foo(){Sleep(100);} foo(int){} }; CVector<foo> v; v.SetCapacity(100); for(int i = 0; i < 100; ++i) v.AddTail(foo(1)); std::vectorと比べて遅い SetCapacityするとさらに遅くなる CByteVectorとCVector<BYTE>の使い分けもよくわからない
344 : for freebsd?
345 : http://katahiromz.web.fc2.com/pdf2img/ http://katahiromz.web.fc2.com/turnpix/ http://katahiromz.web.fc2.com/wavepix/ このへんもライセンス違反じゃね 常習犯かよwww
346 : >>343 CVectorとCStringVectorのSetCapacityにバグがあるようだ。
347 : 犯罪者for freebsd?
348 : >>345 故意犯だと思う。
349 : 片山は一度全てのプログラムのライセンスを洗いなおしたほうがいい
350 : >>342 千里の道も一歩から。小さい目標の積み重ね。
351 : さすがにガチ犯罪はちょっとなあ・・・
352 : 特許違反までしようとしてるしなあ
353 : 今「うぜー荒らしがなんか騒いでる」と思ってるに一票
354 : 一票 for freebsd?
355 : 今始めてきたけど、凄いなこのスレ。 なんか、MFCの悪夢をまんま再現しているところが凄すぎる。 とりあえず以前Shift_JIS云々で議論してたが、文字列なんてUTF-8一択だろjk APIに渡す直前でUTF-16に変換すればいい。Cygwin見習え。
356 : このライブラリでUTF-8なんか使っても無駄に変換コスト払うだけだろ Win専用なんだから32は考慮しないでいいし、最初から16で格納しとけばそのまま渡せる
357 : 0.0.38! TYPENAME,MzcDoEvents,MzcGet{ScreenRect,WorkArea,Font*} を追加。C{SDI,MDI}FrameWnd,CMDIChildWndを強化。 CMRUVector→CRecentVector。乱数に関する関数を追加。
358 : >>345 LGPL文書入れただけで解決できると思ってるなら大間違い 早くなおせよ
359 : もう誰の忠告も聞こえてないと思うよ。確信犯(思想犯・妄信犯)というやつだろう。
360 : ヘッダで using namespace std; するのいいかげんやめたら
361 : >>358 何を直せばいいですか? ライセンス関係詳しくないもので。。。
362 : みんなけっこう優しいんだな。 タダでチェックして、問題点指摘して…
363 : >>360 古いコンパイラのサポートが気になりますが、 using namespace std;を使わない方法を試してみます。
364 : 一度ターゲットレンジを明文化したほうがよくない? 不思議な行動が多くてドキドキする。この円たー低名ーめ!!
365 : もう1,2年もすれば死亡するような仕様へ突っ走るんじゃなくて vista以降とかで実装されたものを全力で使うようなライブラリなら面白いのに
366 : Windows95もサポートしてるライブラリって案外あるしな
367 : Win32直接使うのが一番便利だと思うけど、これアンチ?
368 : 別にアンチじゃないだろ。 マゾかバカなだけで。
369 : ライセンス理解しないで他人のライブラリ使うとか笑える
370 : 0.0.39! C{S,M}DIFrameWnd,CMDIChildWndを修正。CBufferを強化。 CSDIFrameWnd,CMDIChildWndに{Get,Generate}DisplayNameを追加。 CString::SetCapacityを追加。ヘッダからusing namespace std;を削除。
371 : MDI って今後需要あんの?wwww
372 : SDIが自然消滅したからな。 そもそもSW計画とか、名前からして胡散臭かった。 SF的には、なかなかいい計画だったともうが。
373 : タブとかはMDIにならないのかな? よくわかんないけど。
374 : そもそも、SDIやらMDIやらの区分って、OSのAPIのレイヤーで提供するようなもんなのかね。
375 : ただのウインドウスタイルだろ。なに言ってるんだ?>>374 >>373 そういう風に作ればいい。 漏れはMDIとタブは切替られるようにしてる(by MFC)。
376 : ああごめん、そういう意味じゃなくて タブはMDI の範囲に入らないのかなと思って。
377 : >>361 http://sourceforge.jp/projects/opensource/wiki/licenses%252FGNU_Lesser_General_Public_License_version_3.0 お前は英語読めないみたいだからとりあえずこれでも読め 日本語なら読めるだろ
378 : >>376 そういう意味か。日本語は難しいw 現状では入ってないとみるべき。 プロパティシートとウィザードのように、表示スタイルの選択で切り替わるわけではないし。
379 : MDI=窓on窓でFA?
380 : 窓in窓かも。
381 : MDIが絶望的に使いづらいという事実は変わらない。
382 : おい>>1 よ このソースバッファオーバーランしとるぞ http://katahiromz.web.fc2.com/win32/euc2sjis.html
383 : >>382 パッと見、見つからなかった。どこ?
384 : cchSrc で渡される値が pszSrc より大きい場合は 範囲外へのアクセスになるな。 まぁ、NULL が含まれてる文字列で終端はNULL二つってのが Windows API にもあるけど そういうのを決めてチェックしないと範囲外のアクセスになっちゃうんじゃね。 まぁそういうのはその関数を使用するプログラマの責任と言えばまぁそうかもしれんが。
385 : このUNITTESTとやらが正常に動く環境使ってるやつほとんどいないだろ
386 : あー確かにチェックが甘いな、色々と。
387 : 日本語のマルチバイトだからバイト単位で見ていくと NULL がいっぱい出てくる(のかな?)から チェックは難しいか。 文字コードはいまいちよくわかってない。
388 : インテルのツールでチェックかけたら psz1 = (LPSTR)malloc(sizeof(sz1)); psz2 = (LPSTR)malloc(sizeof(sz2)); がNULLの逆参照ってのだけでてきた。 malloc でメモリ確保ができるかどうかわからないってことだろう。
389 : MultiByteToWideChar WideCharToMultiByte
390 : >>387 ShiftJISに\0は出てこないよ
391 : あぁ、そうか。 Unicode で ASCII 部分をバイト谷で見るとでてくるんだったか
392 : >>391 あなたのお名前なんてーの?
393 : なんつうか、猛烈に勢いだして作りたい時期で、ライセンスとかめんどくさいことより 自分のをどんどん作りたいんだろうな・・ どうせ、当分はこのスレの人たちしかしらないから、ライセンスは本人が目途が立ってからでいいんじゃね? 大目にみてやれば。
394 : >猛烈に勢いだして作りたい もう少し、この情熱をこれから役に立ちそうなモノに向ければいいのに。 なんか家電ベンチャー企業のエンジニアが、猛烈な勢いで新型の二槽式洗濯機を 開発しているみたいな、そんな滑稽さを>>1 には感じる。
395 : ライブラリは使わないけど、参考にはする。 つまりWEBサイトのTips程度で十分ってこった。
396 : 0.0.40! CWinApp::DeleteSettingを追加。MzcGetBlackPenなどを追加。 samplesにCSmartSDIAppを追加(バグ多し)。MZからの挑戦状! 「諸君はCSmartSDIAppのすべてのバグを1週間以内に修正できるか」
397 : せめて企画・設計から参加させて言え
398 : まずバグを明確にするため詳細仕様を提出してください
399 : make ファイルしかない時点でやる気なくした
400 : 結局ライセンス違反を直す気がないのか
401 : 誰も完成品を期待していない件w
402 : >>399 プロジェクトファイルを追加しました。賞金100円は誰の手に! (賞金が欲しい人はトリップを付けて回答してください)
403 : 賞金くれるのか! ヤッホー! 俺もSmartSDIAppのバグを探してみるぜ! よろしくっ
404 : 世紀末覇者さんには負けませんよ。100円のためならRる。
405 : ( ゚д゚)
406 : LGPL3 4.a)『ライブラリ』が『結合された作品』中で利用されており、また『ライブラリ』とその利用は本許諾書によって保護されるということを、『結合された作品』のコピーそれぞれにおいて目立つように告知する。 4.c)実行中に『コピーライト』告知を表示する『結合された作品』の場合、そういった告知文中に 『ライブラリ』の著作権告知と、ユーザに対してGNU GPLと本ライセンス文書のコピーがどこにあるかを示す参照先情報を含める。 libjpegのライセンスのほうも守られてないな
407 : ライセンス厨はほんとにうざいな こんなとこでgdgd言ってないで直接ライセンス元に直訴してこよw
408 : なんで片山君に常識を躾てるだけなのに警察呼ばなきゃならないのw
409 : 反省してま〜す
410 : 警察とか言ってる時点で片山レベル
411 : turnpixとwavepixのライセンスを少し直してみたよ
412 : 賞金100円が欲しい人は、早くバグと修正方法を報告してください。 バグの報告につき1pt、修正方法につき2ptをあげます。 ポイントが一番高い人が賞金をGETできます。
413 : どうせこのスレの人たちしか使わないのに、ライセンスとか・・ 個人的趣味と似たようなもんだろ?
414 : 個人ページではなく2ちゃんねるなので、ライセンスも無視できないでしょう
415 : このスレの人も一人を除いて使わないだろ。
416 : VCeeでMFCが欲しいならWDKので足りるしなぁ そもそもMFCがいらんけど
417 : これ使ってる奴なんているの?
418 : WTLでいいしな ATLがどうのこうの言ってる奴もいたけど大した問題じゃないし
419 : 糞
420 : >>406 これだけはっきり書かれても満足に修正できないんだから ライセンスなんて言うだけ無駄だろ
421 : MFCの劣化コピー自体いらないというプロジェクトのバグ 平気でライセンス違反する作者の頭の作りのバグ 目立つバグはこれくらいか
422 : ここまで自演
423 : バグの報告: 作者が犯罪を犯すバグ 修正方法: 通報すると脅す これで3ポイントだな 現在のトップは俺!
424 : バグ:ウィンドウを閉じてもアプリが終了しない 修正方法:次のようにCWnd::DestroyWindowを修正する ASSERT(m_hWnd != NULL); ASSERT(::IsWindow(m_hWnd)); return ::DestroyWindow(m_hWnd);
425 : こんな超個人的な趣味程度のものに、ライセンス云々とかいってるやつは、 よっぽど頭の固い嫌われ者だろう
426 : そういうやつに限って、リアル社会ではRでR覗くのが趣味だとか 章もないやつなんだよな。
427 : じゃあ俺もGPLv3のライブラリ組み込んだクローズドソースなフリーソフト公開しちゃおう
428 : >>424 世紀末覇者さん正解。3pt獲得。
429 : SmartSDIAppのバグなおせっつってんのにライブラリ側いじったらだめだろ
430 : でたでた。あいつは良くって俺はダメかよぉぉぉぉぉぉぉぉぉぉぉぉーー!?
431 : それ単体で使うアプリケーション自体はライセンス違反してても作者以外困らないけど ライブラリはそれを使用する人に影響与えるから ライセンスは守っておかないとだめでしょ。
432 : ASSERTしちゃって正解なんだ・・・
433 : ただ単純に片山MZの勉強用のライブラリだろwww だれも、使うわけないじゃんwwwwww ちょっとだけ知識がつき始めたやつが自分のライブラリを作ってみたいっていうのは よくあるパターン。そのレベルなのに、ライセンスとかw ライセンス厨あほすぎ
434 : ライブラリ作るのって楽しいからな
435 : >>1 が犯罪者に育つのを楽しむ、犯罪者作成スレなんだな、ここは。
436 : Unicodeビルドできないバグ GetInnerWnd()->GetWindowTextLengthA() _tfopen(_T("a.txt"), "w") を GetInnerWnd()->GetWindowTextLength() _tfopen(_T("a.txt"), _T("w")); にそれぞれ置換 100円くれ
437 : >>436 正解。3pt獲得。この辺で閉めさせてもらいます。0.0.41! 優勝は世紀末覇者さんと>>436 さんです。世紀末覇者さんと>>436 さん、 メールアドレスを教えてください。
438 : katayama.hirofumi.mz@gmail.comです。
439 : 世紀末覇者さんと>>436 さんには、賞金100円が送られます。 さぁ〜て、来週のMZCは……「CIconMenuの奇妙な実装」と 「ウィンドウリストが表示されない」の二本立てです。 賞金金額200円に増額で、サービス、サービスぅ!
440 : mzc100yenkure@yahoo.co.jp どうやって100円送るつもりなんだろう
441 : mzc100yenkure@yahoo.co.jp ああこっちだったかな
442 : >>436 はバグだったのか。 コンパイルエラーでビルドできなかったけど、 A版直指定だし何考えてんのかわからんかったから 使うのあきらめたよ。
443 : >>441 メールを送りました。
444 : 他人に住所氏名を訊くならまず自分からが普通じゃね というか住所を知ってどうするの 現金をそのまま送ったら郵便法第17条違反で最悪の場合受取人が呼び出し食らったりして迷惑 だからといって現金書留だと100円より各種手数料のほうが大幅に高くなるし というようなことをメールした
445 : WMとかじゃなく現金渡そうとしてたん?www
446 : >>444 これで片山がめちゃくちゃかわいい17歳の女の子だったらどうするよ
447 : 虹美少女ならともかく惨事でこんな性格となるとブチ殺したくなるだろjk
448 : Amazon ギフト券 100円分とかでいいんじゃね。 100円分はクレジットカード使わないと買えないけど。
449 : 俺はかわいい女の子なら性格ひどくても許すな 年とって劣化したら些細なことも許さないけど
450 : 俺は男だ! 0.0.42! CIconMenuと>>436 の修正。
451 : 0.0.43! これでバグはなくなったかな。 SmartSDIApp以外のバグも受付中。賞金200円。
452 : ネットバンクやら銀行口座にふりこめばいいだろ・・すこしは考えろよ。。
453 : 2〜3桁とは言わんから、せめて1桁増やせよ。
454 : 今度はスレ住人まで犯罪者にしようとしてたのか >>1 はもう首を括って詫びたほうがいいぞ
455 : 0.0.44! SmartSDIAppの「重ねて表示」「上下左右に並べて表示」が できるようになった。CModuleStatus *mzcModuleStatusで グローバルなCCriticalSectionをまとめて管理するようになった。
456 : なあ、mzcってプレフィックスはafxみたいなものと思ってりゃいいか?
457 : >>455 もりたぽで賞金払ってくれるならバグ探し挑戦する
458 : モリタポとかいらねー
459 : >>456 いいです。
460 : 片山R
461 : >>460 言われなくてもいつか死にます
462 : いちいち反応しなくてもいいから
463 : ほんとに200円くれんの? バグ: ASSERT(CStringA("餌").CompareNoCase("陰")); ASSERT(!CStringA("a").CompareNoCase("A")); 修正方法: stricmpではなく_mbsicmpを使うようにする
464 : 0.0.45! 定数MAX_BINARYを追加。細かいバグ修正。 バグの受け付けはここで締め切ります。>>463 調査中。
465 : >>463 確かにバグです。200円送ります。 あなたのメールアドレスを教えてください。
466 : >>465 確かにバグですって見た瞬間にああそうかって分かりそうなもんだが
467 : ASSERT(!CStringA("餌").CompareNoCase("陰")); ASSERT(CStringA("a").CompareNoCase("A")); じゃなかろうかDbC的に
468 : atsusugiwarota@yahoo.co.jpだよ
469 : >>468 メールを送りました。
470 : またメールを送りました。
471 : 0.0.46! CGridWndを追加。samplesにGridAppを追加。 CGridWndは、静的な分割を行うウィンドウです。 要するにMFCのCSplitterWndみたいなものです。
472 : ゲーム製作コンテストをやる。優勝金額900円。 CFrameWnd,CMidi,CMidiPlayer,CSoundクラスを使ってゲームを作れ。 ジャンルは不問。2KB以下。著作権の問題をクリアすること。 採用された作品はMZCに掲載する。以上。
473 : コンテストの締め切りは7月16日。優勝した者のみが優勝賞金を 獲得できる。コンテストに応募する作品の著作権を放棄すること。
474 : 日本じゃ著作権の放棄できないんだよなあ 非常に残念だなあ
475 : 2KB以下??
476 : 実行ファイル2kbはむりげー。
477 : >>著作権の問題をクリアすること 釣りか!!
478 : gifのライブラリって「お金くれたら考えるよ。」ってかいてある?
479 : >>333 をそう訳したなら笑える
480 : 違うのか。英語は難しい。 それはそれとして、 VC10EEでサンプルのFrameApp2010で起動して終了したら0xfeeefeeeのメモリーリークで落ちるんだけど・・・。 IDEの機能が全然聞かないから関数がどこにあるのかさっぱりわからん。 コード追えてないけど、void*にキャストしてるデータはちゃんとデストラクタよばれてるんかな?? コンテナ類は自作するにしてもテンプレート使えばコード量圧縮出来る感じだよなぁ・・・。 ちょっと俺にはレベル高いわ。全く意図が読めないもん。Orz
481 : giveがあるから著作権表示すればって意味じゃなくて金くれって意味じゃないのか
482 : ごめんなさい。ソースコード70KB程度でお願いします。
483 : >>480 御報告ありがとうございます。
484 : 外部ライブラリを使っていいのかとか その部分も70KBに含めるのかとか いろいろ疑問点があるなあ MZC自身も外部ライブラリ使ったりしてるし自由にやっていいのか?
485 : 0.0.47! >>480 のバグ修正。CWinApp::InitInstanceを呼んでいない、 グローバル変数のデストラクタのタイミングの問題などの問題を解決。 samplesのFrameAppを参考にどしどしゲームを作ってみそ! >>484 MZCがサポートする外部ライブラリ以外は使わないで
486 : なにこの命令口調? 「作ってみそ!」なんて呼ばれる筋合いねぇよ。 しかも900円なんてシケた金で?
487 : / ヽ ‖::::|l ‖:||. / 聞 え | ||:::::::|| ||:::|| | こ ? | |{:::::‖. . .||:::|| | え | _」ゝ/'--―- 、|{::ノ! | な 何 | / __ `'〈 | い ? ! /´ /´ ● __ ヽ ヽ / / ゝ....ノ /´● i ` ー―< { ゝ- ′ | 厶-― r l> | ∠ヽ ゝ-― `r-ト、_,) | レ^ヾ ヽ>' ̄ LL/ 、 / .l ヾ:ヽ ` 、_ \\ '
488 : OpenGLかDirectXがライブラリに入ってない バグだ!
489 : MZCはOpenGLもDirectXもサポートしてないから使えないのか
490 : この条件だと派手な音のなる10パズルくらいしかつくれないんでね?
491 : >>1 もれは、ゼロからUIを実装するのがいいな、ゲームのシーンみたいに user32ベースなら意味無い(hwndノミじゃなく、コントロールまでもならもうUI開発じゃないな) シンプルだが難しいのは、hwnd自体の実装だな (⇒実際これは従来の言語では完璧には実装できない、 ソフト開発のパラダイムじゃ非常にややこしくて完成不能に陥る −−かといって、数学的には、容易に記述できる問題) コントロールなら、hwndのもとでなら時間がかかるだけのことだな。
492 : >>491 分かりません
493 : >>491 ネタにマジレスするけど hwndは従来の言語による実装なのにそれを再現できないとはhwndは何者 数学的にWindow管理が出来るとは最近の数学は副作用のある演算が可能になってるのか 数学的にダイアログ管理、数学的にユーザ入力を行う、 どんな数式になるのか俺には想像もつかねえ・・・ >>491 はどんな考えを持っているのかもう少し詳しく聞きたい
494 : GUIエディタとか面倒だから.NETやXAMLで記述したWPFアプリを普通に作ったら プリプロセッサがネイティブの実装に変換してくれりゃいいや。 描画はOpenGLとDirectX9/11とGDIの選択可能でな。
495 : >>493 副作用が無いからこそ数学を用いるけど? ウィンドウたちは物理システムなため、副作用では扱いようがない。 副作用といえば、数学的には、x(t+dt) == f{x(t)}ではなかろうか しかも、y == f(x)の場合、副作用は余計(=微分したら積分) −−けど従来のソフト開発では、そんな場合に副作用を使いまくってる、タヒぬw なぜなら、クラスライブラリが従属関数に対応しないからだ(virtual y か m_pf_y が必要) (ただし、定期的なUpdateは不厳密(全体的にそうする場合を除く))
496 : 実際、いくら全体的に定期的なUpdateにしても、やはり virtual y か m_pf_y が必要 (でないと、変数の更新を正しい順序に並べなきゃ、また余計な更新が生じる) ただし、同じframeに重複評価が生じる、キャッシュすればOK
497 : >>494 それは欲しい。 つーかM$R。
498 : 0.0.48! samplesにSmartMDIAppを追加(バグあり)。 winmainを若干修正。SmartMDIAppのバグを1週間以内に 修正してくれた人に900円上げます。
499 : 900円好きだな
500 : >>495 参照透過性って知ってる?副作用がないって事は関数は戻り値を返すこと以上のことはしないってことだよ しかも必ず同じ結果しか返さない メモリアクセスは元の情報を破壊するから副作用だし I/O制御も副作用 内部に状態を持つことが出来ないからWindowのあらゆるユーザ入力や通信が実装できないね schemeですら副作用を必要悪としてset!系があるというのに 困ったね
501 : 諸経費って100円なのかな
502 : ベーマガも掲載費1万円で税金引かれて実際に届くのは9000円だった
503 : mzcは源泉徴収してるってのか!?
504 : >>494 俺は昔vb6でddのUI作った、のちにC++で大幅更新した、コードは以下(抜粋) (今更考えてみれば、やっぱ.Netで作るほうがずーっといいな、.Net==vb6&C++) class CForm2 : public CForm{ public: SmartPtr<CButton> btnOK; private:SmartPtr<CPartPic::Picture> m_pPic; SmartPtr<CForm1> m_pToolTip; public: CForm2():CForm(L"Form2"){ InitComponent(); Reset.AddHandler(this,&CForm2::OnReset); m_pToolTip = new CForm1; m_pToolTip->SetCollisionMap( SMART_NEW(CCollisionMap,()) ); // 透明な当たり判定マップ }};void CForm2::InitComponent(){ btnOK=new CButton(L"btnOK",10,95,60,20); btnOK->Click.AddHandler(this,&CForm2::btnOK_Click); btnOK->SetPainter( BS_NORMAL, SMART_NEW(CPartPic,(m_pPic,100,0,60,20)) ); }Bool init(){ pwnd = new CGameWnd(L"UI Test Window"); ui::CCore::CreateCore(800,600); CForm::SetMsgLoop(null,&MsgLoop); // modal用 pform1=new CForm1(); }void Render(){ ::GetCore()->Render(0,0); } Bool MsgLoop(){ if(::PeekMessage(&msg,0,0U,0U,PM_REMOVE)) { CEventMgr::PeekAll(); } else { Render(); };
505 : >>500 副作用使用しないわけじゃないけど? たださ、x(t+dt)==f(x(t))で記述する。 (それからコンパイラ作ってc++などでの実装に変換するw)
506 : >>500 あと、>>504 で言及した「vb6+ddでのUI」は、二週間で完成したが、 C++に移植後、副作用によるバグ、などなどを解決するから、 メカニズム書き直して、二ヶ月過ぎてもやはり完成不能って状況 −−けど、数学的にはシンプルなのに!(だから最初は二週間で完成)
507 : mzcdlgs.h(108): 警告 #12265: クラス "CCommonDialog" には仮想メンバー関数がありますが、デストラクターがありません。 基本クラスで public または protected 仮想デストラクターを宣言する必要があります。 クラスで仮想メンバー関数が定義されていますが、デストラクターが定義されていません。 このエラーは、仮想メンバー関数を持つクラスでデストラクターが定義されていないことを示します。 この場合、コンパイラーは、public で非仮想の単純なデストラクターを生成します。 この関数には仮想メンバー関数が含まれているため、基本クラスとして使用されることが想定されます。 基本クラスでの非仮想デストラクターの使用は、オブジェクトが正しく破棄されない可能性があるため危険です。
508 : mzcwin2.inl(317): エラー #12172: NULL である可能性のあるポインター "this" の逆参照が設定されています (ファイル: mzcwin2.inl、行: 381)。
509 : >>507-508 トリップ付けなかったということは、900円要らないのか?
510 : C++の初心者にありがちなミスじゃないか・・・
511 : あと、winmain.cpp 内で コマンドラインの配列として確保されたメモリを解放する際に ::GlobalFree(mzc_wargv); ってやてるけど、メモリ確保と解放に使う関数のミスマッチの指摘もでてる。 ::LocalFree(mzc_wargv); が正しい。 MSDN でもきちんと書いてる。 The calling application must free the memory used by the argument list when it is no longer needed. To free the memory, use a single call to the LocalFree function.
512 : 0.0.49! 細かいバグをいくつか修正。コメントを充実。 >>507 修正。>>508 よく分からなかった。 >>511 ありがとうございます。後で修正します。 Known Bugsを修正してくれた人に900円あげます。
513 : thisがNULLになるのなんて普通じゃん? あと、なんでエラー制御するべき場所でassert使うんだ?
514 : MDICreate が失敗するのは assert の前のsendmessage が失敗してるんじゃないの。 sendmessage は忘れちゃっててよくわかんないけど そもそも、hwnd にキャストできる値が返ってくるの?
515 : hwndはヌルポ
516 : free workerを増やしたいので、そろそろ世界進出を考えています。 どうすればいいでしょうか。sourceforgeで公開するかな。
517 : いままでも犯罪をいくつも積み重ねてきた>>1 が、 もう隠すことなくおおっぴらに犯罪をやってくことに決めたのか。
518 : sourceforge より google code だろ
519 : 結論としては、どっちも見にくい。
520 : 醜いね 『誰が』とまでは書かないけど
521 : 世界進出とか言い出す前にサポート環境の明示とか ドキュメント整備とかやること沢山あるだろバカ
522 : >>521 片山がそんなことできるんだったら痛い子を見守るスレになんかなってないよ
523 : 0.0.50!! いろいろビルドできなかったバグを修正。すみませんでした。 縦型ツールバーをサポート。CGridWndを強化。testにmidi_testを追加。 CMidiPlayer::PlayAndWaitのバグ修正。
524 : 作ったよ。 http://code.google.com/p/class-library-mzc/ うpが難しい。 $ git clone https://Katayama.Hirofumi.MZ@code.google.com/p/class-library-mzc/ class-library-mzc $ cd class-library-mzc $ git config core.autocrlf false $ git add * $ git commit $ git push $ git svn dcommit Unable to determinate upstream SVN information from HEAD history. Perhaps the reposistry is empty. at C:\Program Files\...
525 : Dev-C++が勝手に*.exe.manifestを消しちゃうから *_exe.manifestにリネームした。
526 : 世界進出俺SUGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!
527 : バグ指摘一件で10ドルもらえると聴いてやってきました。 シエラレオネ在住ですが、1週間分の所得です。 超ラッキー。
528 : >>527 ネットの接続料は月いくらなんですか
529 : 海外の物価の安い国の奴に頼めばいいのか
530 : ついでにライブラリ開発も丸投げすれば?
531 : Subvision(SVN)を使うことにした。 set SVN_EDITOR="notepad.exe" svn checkout https://class-library-mzc.googlecode.com/svn/ class-library-mzc --username Katayama.Hirofumi.MZ@gmail.com cd class-library-mzc\trunk svn add * svn checkin ソースのアップロードに成功。SVNによる開発に参加したい人は僕に連絡ください。 katayama.hirofumi.mz@gmail.com
532 : コマンドラインに /Yu って指定してる意味はなんなの
533 : /湯 鬼怒川
534 : 釣れますか?
535 : int型とポインタに絡んだ指摘がいっぱい出てくるんだがどうなってんの。 64bit対応を全く意識していないのか。
536 : 使い古されたコード断片を組み合わせて作られたが故の当然の結果
537 : >>532 プリコンパイル済みヘッダー ファイルを使用します。 >>535 貼ってくれ、いやください。
538 : え?自分で調べようとしないの、形だけでも?
539 : 自分で調べないなら、ちゃんと900円出すべきだよな
540 : もう一行900円で誰かに完成させてもらえよ
541 : vc10で /Wall /Ryze 付けたら5桁警告出るからめどい
542 : ちょっと待て、1件につき\900で5桁?
543 : >>541 You教えてあげてン千万円貰っちゃいなYO!
544 : ライブラリのmakeのログが32000ちょい 中見てないけど、重複を差し引いても5000はくだらないと考えられる やったね大富豪だ
545 : 俺SUGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!
546 : ifの定数警告が大量に出てた気がする
547 : もう飽きたか
548 : Win33++はまだか
549 : 0.0.51! CVector::GetCountの戻り値がBOOLになっていたのを修正。 -Wallを指定したときに出てくる警告をたくさん削る。
550 : Subvisionの中身すくなくね? こんなもんだっけファイル
551 : ちゃんと23曲入ってるけどなあ
552 : >>551 それはプロジェクトのファイルの事だろ? 俺が言いたいのは音楽ファイルのほうだってば
553 : _, ._ ( ゚ Д゚) ??
554 : 片山氏のレスが全然ないんだけど、ライセンス違反しまくりでつかまってたら・・
555 : >>550 Google CodeにはちゃんとSubvisionのデータがあるはずです。 >>551 曲って何だよ。音楽? >>552 音楽ファイルが何? >>554 PHP/MySQLであやしいサイトを作っているところ。忙しいので後でね。
556 : Subvisionのデータが欲しい場合は、 svn checkout http://class-library-mzc.googlecode.com/svn/ class-library-mzc-read-only でOKです。ダウンロードにはSVNのデータがないものを置いてます。プロジェクト名が長すぎたかな?
557 : libmzc mzc mzc-library lib-mzc このくらいにしとかないと誰も紹介しない
558 : MFCに倣ってMZ Classかと思ってたけど それじゃいくらなんでも冗長だしなんか別の意味があるんだろうなあ
559 : MuZukaC
560 : Subvisionと書き続けてる人は同一人物?
561 : コピペっしょ
562 : さぶびじょんwww
563 : subversionって何であんな不吉な名前付けたんだろうな。 subとversionのジョークなのはわかるが。
564 : >>563 subversionじゃなくてsubvisionです!
565 : 喪前の存在がさぶびじょんwww
566 : >>564 だから、サブビジョンってなんだよ(pgr ttp://www.merriam-webster.com/dictionary/subversion
567 : ちっちっちっ、我々みたいな上流階級がSubv-rs--nのような下品な言葉を 使っちゃいけないよ。秘密警察が来ちゃうような場合も考えて、 Subvisionというのが妥当。 ジャワ島の人のことも考えたら、J*va言語なんて言葉使えない。 あんなのはJ言語でいいんです。
568 : コスモポリタンは言葉遣いも気を付けなければいけないのです!!!(キリ
569 : Windowsの登場のせいで、window(s)という言葉が死につつある。 computer mouseのせいでもともとのmouseをanimal mouseと 言わなければいけない。どうすりゃいいの。 インターネットの普及で世界的に言語破壊運動が起こっている。
570 : じゃあ、窓を正確に英語で簡潔に表現するとしたら 何でしょう? 正解者に900円あげる。
571 : >>567 http://hibari.2ch.net/test/read.cgi/tech/1263291450/l50
572 : 最終的にはIDEもMZCで作れるようにしたいから、 テキストエディタやDataGridも付けるか。。。 どうしよっかな。。。CProperty{Sheet,Page}Exは作り直しだな。
573 : ところで最近俺の中で無糖紅茶ブームが来ててJavaTeaよく飲んでるんだよ
574 : ジャワティってまだあったんだ
575 : プロジェクト名をclass-library-mzcからmzcに変えました。 http://code.google.com/p/mzc/ SVNによる開発者募集中!
576 : こんなサイト作りました。 うらちえ(裏知恵) http://www31.atpages.jp/urachie/
577 : 俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
578 : バカス
579 : >>578 職務質問です。どの辺がバカスなのか説明してくれませんか。
580 : 職務なら、先ずはどんな職務でどんな権限があるのかを詳らかにするべきですね。
581 : >>580 警察署から来た者でApacheのルート権限を持っています。
582 : バカス
583 : >>581 警察署勤務とは意外と高スペックだな。うへへ
584 : それでパクリライブラリって、本当なら通報ものだな
585 : R◆QZaw55cn4cでさえもすでに収拾をつける方向というのに、 R以下が粘着しつづける。 ここは、Rに絡まれた float 馬鹿のほうかね。 ttp://hibari.2ch.net/test/read.cgi/tech/1308749241/906 を 嬉々として回答したらQzにケチ付けられて強弁に強弁を重ねてる脳内プログラマ
586 : 0.0.52! test/midi_testを削除。samples/SoundAppを追加。 MIDIの再生スピードを変えると音がずれるバグあり。
587 : mzc-0_0_51.zip のダウンロード数 6 に泣いた
588 : このライブラリで、こんなん作りました! という実績ないとな。
589 : 片山博文MZと彼の仲間たちによって書かれましたとかトップに書いてるけど 仲間って900円で繋がった連中のことか
590 : 0.0.53! CFrameWnd::m_rcInner/GetInnerRectを追加。 MzcCreateStretchedDIB,MzcCreateBilinearStretchedDIBを追加。 MzcConvertTo24or32BppDIB,MzcMosaicDIB,CScreenCtrlを追加。 MzcConvertTo*DIBを最適化。 CIconMenuを微調整。
591 : 0.0.54! CScreenCtrlを強化。これであなたもペイント系ソフトが作れるかも。
592 : それは言い過ぎ。ペイントソフトさんを舐めすぎだ ペイトソフトさんに謝れ
593 : >>592 俺、ReactOSのペイントの開発にも携わったことがあるんだぜ。
594 : そんなん知らんがな
595 : いまどきGDIしかサポートしてないライブラリ使って ペイント系ソフト開発しようなんてやつもいないだろ
596 : >>593 ペイントソフトはui部分なんて割とコーディング的にどうにもなるとこっしょ 問題はレイヤのメモリ管理(全てのレイヤをメモリ上に持とうとするとアマの絵描きでも1Gとか余裕で超えて落ちる) とかレイヤ合成の高速化とかエッジにαを持たせた不定形の範囲選択とか いろいろめんどいから謝っといたほうがいい
597 : 大抵のペイントソフトは全てのレイヤーをメモリに持ってるって
598 : >>597 え、タスクマネージャ監視しながらフォトショとかでレイヤー100枚作ってみろ 通常はブロック毎にメモリを割り当てて使用されるまでメモリ未確保にして控えたり 逆にブロックがクリアされたら確保したメモリをプールに戻したり ブロックをLUT管理して最近使われていない領域は圧縮したりするもんだけど・・・ どのペイントソフトのこと言ってる?それ使い物にならないよ アマのイラストレータでも印刷用のイラスト描く場合(幅10000 x 高さ10000 x レイヤ100枚 x 4byte)これで40GBメモリが必要になる これをオンメモリでやるとか一般的なPCでは無理っしょ
599 : タイリングしてるのは有名ソフトだとフォトショップとGIMPだけど Paint.NETとかやってないし個人作成のフリーソフトになると限りなく少ないんじゃない?
600 : あとGIMPもプライグインの種類によってはタイリング処理非対応でメモリが足りないとかある
601 : いやタイリングするのは当たり前で タイルのある部分はすべてメモリにあるのが普通だってことだよ
602 : >>601 ファイルに書き出すのもあるよ
603 : メモリマップドファイルというものがありましてねぇ・・・。
604 : それじゃ扱えるのは32bitの範囲にならない?
605 : OSのエディションによるんでねぇか?
606 : ファイルなんかに書きだしてたら速度でないでしょ
607 : だからLUT使うんだよ そんなこといったらOSだって仮想記憶使うから遅くて使いもんになんねえってなるだろ
608 : スワップが頻発して遅くて使いもんならないの経験したことないの?
609 : レイヤーが非選択状態の場合に別スレッドでメモリのデータを待避させるとか もちろん待避中にはレイヤーの切り替えはできないようにして
610 : そんなん誰が使うんだよw
611 : 使うかどうかよりも便利かどうかだと思う
612 : 便利なわけないでしょ
613 : 0.0.55! MzcCreate24BppCheckDIB追加。 CScreenCtrlの強化と多くのバグ修正。 samplesにImageViewerを追加。
614 : 普通にこう、 Frame *frame = new Frame(); frame->width = 800; frame->height = 600; frame.show(); みたいなライブラリないのかな。 しばらくC++触ってないので文法アレだが。
615 : MFCの再開発とかするよりD言語用MFCとかの方が需要有ると思う
616 : Windows 依存のライブラリはもうはやらない気がする
617 : もともとは…WindowsってMacのそっくりさんでしょ
618 : いや?
619 : Windows1 とか w
620 : ATLのコピー品の方が需要ある
621 : OS依存ライブラリか・・・基盤のOSがコケると全部台無しで Windows関係はスマホ競争で脱落しかけてるし・・・ アンドロイドで動かす仕組みでも作ったら?
622 : あんどろっつってもJavaはライブラリが充実してるから無意味というね
623 : じゃあ、もうOSから作るしかないね あれ?OSがまともだったらMFCいらない気が??? MSが他OSへの移植を断念したのは・・・
624 : owとdmcで使えるなら使い道があるかも知れん
625 : 0.0.56! OpenGLをサポート。MzcResolveShortcutの仕様変更。 MzcGetPathOfShortcut, MzcGetURLOfShortcutToURLを追加。 MzcTrackMouseEventDxを追加。 Mzc{Get,Set}ClipboardText, Mzc{Get,Set}ClipboardBitmapを追加。 CClipboardWatchWnd, CProcessList, CThreadListを追加。 CMap*::Insert(key, value)を追加。
626 : OpenGLは色んな環境で使えるとこがいいとこなのに 変なtypedefしたら移植性低くなって価値なくなるような Windows限定ライブラリなんだからDirectXサポートする方が何千倍もいいような
627 : 同意
628 : OpenGLに関しては何もtypedefしてないよ。
629 : typedefどころか何も提供してなくね? wglのラップすら見当たらないけどどう使うんだ
630 : mzcwin2をご覧あれ。wglCreateContextとMzcGL_SetPixelFormatDxと wglMakeCurrentを呼び出せば、OpenGLが使えるようになる。 MzcGL2D_で始まる関数は2D用の関数。
631 : >>628 そんな揚げ足とりみたいな反論するより、DirectXをサポートすべきという提言を受け入れたら? どう考えても君のことを考えての忠告だし、礼くらい言ってもバチは当たらないよ。
632 : DirectX SDKって、ダウンロードに1時間くらい掛かるんしょ? ハードル高いから、標準サポートは無理っしょ。
633 : 何の釣りだろう
634 : MZCはゲーム向けのライブラリではありまっしぇん。 ゲーム作りたい人は、他のライブラリを使ってくだしゃい。にゃんにゃん。
635 : これはダメだと思った
636 : 老害
637 : >>632 SDKいらないよDxLibとかぐぐってみ DirectXがむずかしいと思ってるだけだよね? >>634 ゲーム向けじゃないよWin7じゃ通常のWindow描画にも使われているよ DirectXがむずかしいと思ってるだけだよね? 期待してる
638 : DirectXってよく考えたらXYZをXYに変換してるだけだよね。 そう考えると難しくなくなった
639 : 0.0.57! MzcIsOldWindowsの仕様変更(Win98以降に変更)。 バージョンチェック用の関数群 MzcIsWin* をたくさん追加。 CWnd::{Send,Post}Message(MZC_MSG *), mzcMsgを追加。 CListBox,CEditCtrl,CListViewCtrl,CScreenCtrlにEmpty,IsEmptyを追加。 CSDIFrameWndで閉じるときファイル名が正しくセットされないなどのバグを修正。 CDataGridを追加。samplesにCDataGridAppを追加。 これでエクセルみたいなプログラムが作れる。
640 : >>637 調べてみます。ありがとう。
641 : 最初からそう言えば全然印象が違ったのに・・・
642 : こうなってくるとIDEが欲しいところ
643 : 必要なのはリファレンスだろ
644 : 片山博文MZって何歳なの? 老害らしいけど
645 : 何歳かはしらんけど昭和の遺物だな
646 : 25くらいかね?昭和生まれは2chから出てけよ
647 : ガキしかいねえ
648 : mzc-0_0_56.zip MZC 0.0.56 Oct 5 Oct 5 749 KB 2 mzc-0_0_55.zip MZC 0.0.55 Sep 26 Sep 26 744 KB 2 mzc-0_0_54.zip MZC 0.0.54 Sep 23 Sep 23 724 KB 4 mzc-0_0_53.zip MZC 0.0.53 Sep 17 Sep 17 716 KB 4 mzc-0_0_52.zip MZC 0.0.52 Sep 8 Sep 8 712 KB 4 mzc-0_0_51.zip MZC 0.0.51 Aug 24 Aug 24 698 KB 8 ダウンロード数がどんどん減ってる。 わろた。
649 : DoxygenとCppDocのどっちがいい?
650 : どっちもさして変わらんと思うがDoxygenのほうがいろいろ機能があるかな それよりコメント文(しかも“!”だの“@”だのの書式で指定した)が無いと あんまり意味が無い
651 : 0.0.58! MzcGL_SetPixelFormatDx→MzcGL_SetPixelFormat。 CScreenCtrl::CreateBackBitmap, CDataGrid::DrawCellを追加。 CDataGridのセルの文字数制限を取り除く。 <mzc/mzcshl.h>の#include間違いを修正。BCC Developerをサポート。
652 : >>650 Doxygenでリファレンスを作ったよ! ヘッダー読む人も居るだろうから、あんまり ヘッダー汚したくないんだけど。何かいい方法ないかなぁ。
653 : ソースに書けばいいかも。やってみよう!
654 : 補完でヒントが出ないから ヘッダに書いたほうがいいよ
655 : >>654 ヒントが出るってどういう環境?
656 : 開発環境にEclipseを使っている人、居ますか?
657 : そもそも使ってる人が居ません
658 : 1 年たったのか、すごいモチベーションだ。
659 : 一人でかなり大きなところまで育てた点は、頭が下がるな。
660 : 俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
661 : >>659 一人じゃないよ。みんなのおかげだよ。 >>660 偽者R。
662 : >>655 VisualStudioとかでたきがする
663 : VS,NetBeansはいけるね CDTは使ってないけどEclipseもいけるんじゃないかな
664 : 未だにトリップつけてないってのも凄い気がする
665 : 無責任な発言をしても 他人の振りして泥仕合に持ち込めるからね
666 : 片山さんへ トリップは、名前欄に #hoge (hogeは任意の文字列)でいけるよ
667 : >>665 >>585
668 : >>667 >>666
669 : トリップをわざと変えれば自演できるんだし 使っとけばいいじゃんね
670 : MFCやWin32++を超えるって・・・Qtとかじゃだめなの・・?
671 : 0.0.59! CDataGridEditでポンと音が鳴らなくした。 文書を充実。
672 : Doxygenで日本語chmを作るとき、UTF-8をShift_JISに変換したり、 ~の文字化けを直したりする必要があるみたい。めんどくさい。
673 : ダウンロードはこちらから。 http://code.google.com/p/mzc/
674 : 久々に覗いてみたらカンパ求めてて失笑 前からだっけ?
675 : 夏くらいからやってたと思う
676 : 0.0.60! CClipboardWatchWndのメンバーがpublicでなかったバグを修正。 CGridWndにGWS_NOSIZEスタイルを追加。 CFileDialogのバージョン間違いを修正。もっと文書を充実。 CFrameWndのステータスバー表示を改善。CMDIFrameWndのバグが採れた!
677 : WM_MDICREATEがマルチスレッドだと動作しないことがあるらしい。 CreateMDIWindow関数を使えば簡単にいけた。 僕より早くCPropertySheetExのバグを修正できた人に WM900円上げます。
678 : ふふふ、諸君はわたくしに勝てるかな。。。
679 : 煽ってもやらないわよ!
680 : ソース見る気ないけどwindow style足りないとかないよね
681 : CPropertySheetExのバグはプロシージャの設定間違いだった。 それから、いろいろバグを見つけたので直しにかかる。
682 : GIFはもう特許切れてるから使ってもいいよね。。。GIF出力にバグ発見。
683 : いいけどpngにしなよ
684 : 0.0.61! CPropertyPageEx::CommonConstructにおけるプロシージャ設定の間違いを修正。 ASSERT_KINDOFの間違いを修正。 CMDIFrameWnd::CloseAllChildrenを追加。 MzcGetWindowPos, MzcGetBlendFunction, MzcConvertForLayeredを追加。 CWnd::ShowWindowAsync, CWnd::SetLayeredWindowAttributes, CWnd::UpdateLayeredWindowを追加。 MzcSaveGifToFileのバグ修正。 CFileDialogでファイルの種類を変更した際にドット拡張子を消すようにした。
685 : やったぜ! バグが消えたぞ! イヤッホー!
686 : 誰も使わないライブラリのバグが 消えることに何の意味があるのだろうか
687 : 0.0.62! CWinApp::GetOSVersionを削除。MzcGetOSVersionを追加。 samplesにHybridAppを追加。CString{A,W}::Trimを追加。 {CEditCtrl,CListBox,CComboBox}::Select{None,All}を追加。 MDIでメニューのセパレータが重なるバグを修正。 MIDI再生後にボリュームコントロールの音量がゼロになるバグを修正。
688 : 次は、サウンドの多重再生とクラスウィザードだ! 今年中にやっちまうぞ! 待ってろM$!
689 : なんかまとめのページとかないの?
690 : >>688 >サウンドの多重再生 あ、えっと、M$にはDirectXとかXNAとか既にありまして・・・ >クラスウィザード あ、えっと、M$にはVisualStudioとか既にありまして・・・
691 : >>689 まとめページは、まだありません。 CHM形式のリファレンスがダウンロードできるので、それをご覧ください。 >>690 知ってるよ。。。
692 : クラスウィザードはVC++ express使ってる俺みたいな乞食には必要だけど、 サウンドの多重再生はすなおにDirectX使ってくれたほうがいいと思う まあ、自分の技術を試したいというのはわかるけど
693 : eclipseのプラグイン作ればいいとおも
694 : SmartMDIAppがスマートじゃない罠あり。 INIファイルの保存先はEXEと同じ場所だとまずいだろ(Vista以降)? APPDATAあたりに保存しちゃうか?
695 : リボン使えるようになった?
696 : 未対応。昔、姉があれをよく読んでたなぁ。
697 : そもそもINIがスマートじゃない
698 : ライブラリが勝手に保存先決めちゃだめだろうよ せめてライブラリ利用者がEXEのパスとかAPDATAとか選択できるようにするのがいい
699 : じゃあここはカレントディレクトリで
700 : iniファイルの保存先を設定するためのiniファイル、の保存先を設定するための・・・
701 : 知能が小学生レベルの40代って本当に居るんだな
702 : ふつーレジストリ。
703 : >>702 Windowsのフリーソフトでは「レジストリを汚しません」が付加価値になるのにそれはないだろう
704 : 一部の勘違いしたバカだけにな
705 : >>704 みたいな?
706 : SUNがORACLEに買収されたときに レジストリの場所が変わって動かなくなった超有名アプリがあるな
707 : 時代は環境変数
708 : 0.0.63! CKernelHandle→CFile。 C{Byte,{,D}Word,Ptr}Vector::{At,De}tachを追加。 CPropertyPage::OnInitDialogのバグ修正。 CMapStringToStringのメソッドの定義忘れを修正。 CWinApp::UseRegistryを削除し、CWinApp::SetSettingUseを追加。 CClipboardWatchWndの仕様変更。
709 : クラスウィザードぽいのをホームページで公開した。 MZCでクリップボードのデータをEMF形式で保存するソフトを作った。 http://katahiromz.web.fc2.com/clipemf/
710 : 片山先生と呼ぼうかな
711 : MZはMazoの略とか何とか
712 : マジンガーZ
713 : madz でしょー
714 : 俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
715 : ふふふ、諸君はわたくしに勝てるかな。。。
716 : トリップ付けるようになったからあんま意味ないぞ
717 : レジストリ関連とクラスウィザード(以下CW)はバグだらけ。 次のリリースで修正します。
718 : ふふふ、諸君はわたくしに勝てるかな。。。
719 : 0.0.64! CFile::GetFileTime, C{Folder,File}Watchを追加。 CWinApp::SetIniFilePath, CFrameWnd::{Lock,Unlock}StatusTextを追加。 ON_COMMAND_EX,ON_COMMAND_EX_RANGEなどを修正。 CPropertySheet{,Ex}::OnInitDialogは、削除。 レジストリ関連とMDI関連のバグ修正。
720 : MZCクラスウィザードはメッセージハンドラの追加ができるように なって、実用的になりました。お試しください。
721 : 今年が終わるまでサポートしますから、 皆様、どんどんご要望を出してくださいませ。
722 : 2011年と共にmzcも終焉か
723 : なになに? mz終焉するの?w
724 : え?
725 : 『発表』 MZCは2012年1月1日を以って継続サポートを終了いたします。 2012年以降は断続サポートに切り替わります。
726 : 次何やんの
727 : 飽きたのか
728 : 0.0.65! MzcMapWindowRect, MzcGetOwner, MzcCenterWindowを追加。 Mzc{Get,Set}Window{{,Ex}Style,Font,UserData}を追加。 MzcModifyWindow{,Ex}Styleを追加。 CWnd::CenterWindow, CRecentVector::RemoveInvalidを追加。 MzcGetWindowPosをクライアント座標に修正。MzcGetTopLevelを修正。 CProcessMaker::Startの第二引数をLPCTSTRにした。 CWebBrowser::PostNcDestroyのバグを修正。 samplesにBrowserAppを追加。Mzc{G,S}etClipboardBitmapのバグ修正。
729 : CW 0.2! 外部エディタを設定すると、自動でエディタで開くようになる。 プロジェクトの場所の履歴をとるようにした。 日本語と英語へのローカライズ完了。
730 : ホームページでバイナリをテスト配布中。。。
731 : ホームページを更新。 バグを発見した人にWM900円あげるよ。
732 : 1件に付き900?
733 : 0.0.66! MzcJoinとMzcSplitの高速化。CHyperlinkCtrlのバグ修正。 MzcGetBitmap, MzcPackedDIBToBitmap, MzcBitmapToPackedDIB, MzcGetDIBSection, MzcDrawBitmapを追加。 Mzc{Global,Local}{Clone,FromPtr}を追加。 C{Byte,Word,DWord}Vector::Attachに引数nCapacityを追加。 CBitmap, CAccel, CFileVersionInfoにコンストラクタを追加。 CPng, CPngButton, CJpeg, CGif, CTiffを追加。CRecentVectorを拡張。 CDC::DrawBitmapで可能ならアルファブレンドを行うようにした。 いくつかの画像入出力関数に引数dpiを追加。 CAboutDlgを追加。ASSERT_KINDOFとkindof_testを削除。
734 : CW 0.3! CAboutDlgの追加。エラー処理を厳密に。SmartMDIAppの修正。
735 : 誰も見てないのに頑張るね
736 : 見てるから大丈夫
737 : 年内なら要望聞くんだよね?DirectXまだ?
738 : ちょっと調べたけど、DirectSoundってややこしいね。 DirectMusicで音楽じゃない音声を再生するってありかな?
739 : っ XAudio2
740 : >>739 ちっ、せっかく勉強したのにぃーー!
741 : 64ビット VistaではDirectMusicは使えない。 7ではパフォーマンスレイヤー以外は使える。 Vistaを切り捨てればDirectMusicはまだ使える。 Vista以降ではDirectSound3Dは使えない。
742 : なのでDirectMusicをサポートするぞーー! 野郎どもいいか?
743 : 好きにすればいいと思うよ
744 : MSが使うなと言っていて既にSDKから削除されたコンポーネントを 新規で使おうって発想が理解できない
745 : >>744 他にいい方法ある? XPより古い環境切り捨てですか?
746 : XAudio2なりDirectSoundなりいくらでもあるだろ
747 : >>746 XAudio 2ってWindows 98でも使えるの?
748 : 使えないじゃん。
749 : 今時Windows98サポートのためにVistaを切り捨てるとか常人には出来ない発想だな
750 : さすがのさるとび!!!
751 : Windows 98 をサポートする理由がわからんな。 破綻した某航空会社の社内システムも Windows 2000 から新しいのに切り替わっていってるというのに
752 : XPSP2以前なんか切捨てでいいだろ
753 : 本人がWin98しか持ってないという
754 : いつまで前世紀の環境にしがみついてんだよ
755 : 俺もWin95でも動くの目指して作ってるけどいつも思うんだ XPより前の使ってるやつは死刑って法律が出来れば踏ん切りがつくのになって 国会はしょうもない事ばっかしてないでこういう役に立つ法律作ればいいのに
756 : DirectMusicとDirectSoundって使い道違うのに片方だけとか信じられんわ 常識的に考えてOS依存部分はLoadLibraryで吸収だろ
757 : >>755 2000はまだ現役でやれば出来る子
758 : 0.0.67! MzcCoInitialize, MzcCoUninitializeを追加。 CDxSound{,Buffer}, CDxMusic{,Player,Segment}を追加。 samplesにCDxSoundAppを追加。 CW 0.4! MinGWで一部ビルドできなかったバグ修正。 無限ループに陥るバグを修正。
759 : Hey, Yo! DirectSound、DirectMusicサポートだぜ! サウンドと音楽の同時再生もできて、音楽の再生速度も変えられるゼ。 Check it out!
760 : MZCに浮動ツールバーを実装してくれたらWM2,000円あげます。 diff -uでパッチ作ってメールで送ってください。 katayama.hirofumi.mz@gmail.com
761 : 馬鹿には無理
762 : ツールバーは結構難しいね
763 : age
764 : 浮動ツールバーの件、WebMoney1万円に増額!!! 君もやりたくなったでしょう?
765 : フローティングツールバーを実装したら1万円を贈呈してやるぜ! 1万円だぜ、1万。1万円あげようって言ってんだぜ。 クリスマスに超高級ケーキ買えるお金だぜ。
766 : 尼券とかならともかくWMそんなにもらっても使うとこがない
767 : 浮動ツールバーってむずいん?
768 : 馬鹿には無理
769 : CW 0.5! protectedと:の間に空白があっても正しく読み取れるようにした。 クラス宣言に__declspec(...)などがあっても正しく読み取れるようにした。 DECLARE_MESSAGE_MAPとBEGIN_MESSAGE_MAPの挿入方法を修正。 エディタ設定の際、ショートカットでも受け付けるようにした。 他さまざまな修正。
770 : (私みたいな)馬鹿には無理(です、ごめんなさい。天才には可能です。)
771 : 1DL毎に1000円くれるならポーティングしてやらないことも無い
772 : >>771 ツールかスクリプト使って連続ダウンやるんだろ
773 : 同一IPは1DLとするとか、同一MACアドレスは1DLとするとかくらい言えよw
774 : >>770 wxのauiが参考になると思う というかまんまパクれるかと
775 : 1. FrameWndでReBarのドラッグを捕らえ(FrameWndでRBN_BEGINDRAG)、 ドラッグ中のバンドのウィンドウハンドルを得る。 3. ドラッグが終わったら(FrameWndでRBN_ENDDRAG)、ドラッグ中の バンドのウィンドウハンドルをクリアする。 4. ReBarでマウス移動(WM_MOUSEMOVE)を捕らえ、領域外だったら、 バンドを非表示・削除した後、フローティング用のウィンドウを 必要なら作成して、バンドの中身のウィンドウを TB_SETPARENTでセット、再表示して、フローティング開始。 フローティング用のウィンドウに SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(pt.x, pt.y)) を送り、ドラッグ継続。 5. フローティング用のウィンドウで移動中(WM_MOVING)を捕らえる。 6. 領域内であれば、ドッキング後の挿入位置を計算し、 ターゲットのReBarにバンドを挿入し(RB_INSERTBAND、TB_SETPARENT)、 ターゲットのReBarをアクティブし、ReBarに PostMessage(WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(pt.x, pt.y)) を投函し、ドラッグを続ける。
776 : 注意点: フローティング用のウィンドウのクラス名は、CFloatingToolWndとし、 mzcwin2で宣言・定義する。ツールバーおよびダイアログバーが 各自フローティング用のウィンドウを所有する。挿入位置の情報は、 挿入先のReBar、バンドのインデックス、挿入先が縦か横かどうかである。 FrameWndの取得にはMzcGetTopLevelとCWnd::FromHandleを使う。 CReBar::BandFromHwndを追加。CFloatingToolWnd::CalcDockingPosで ドッキング後の挿入位置を計算する。(_WIN32_IE < 0x0300)の場合は ドラッギングに対する反応は無効とする。必要ならCToolBar, CReBar, CDialogBar, CFrameWndを変更してもいい。
777 : 参考資料: http://www.codeproject.com/KB/toolbars/tearoffrebars.aspx
778 : 【徹底討論開始】 上記の仕様についてご批評を。 ツールバーやダイアログバーだけじゃなく他のものも ドッキング、フローティングできるようにするため、 基底クラスを用意するのはどうだろうか。もし 基底クラスを用意するならどのような仕様にするべきか。
779 : >>774 DLしてみるよ。調査中。
780 : 始めまして ちょっと気になったので 仕組みとなる発想が古い気がするんですけど WPFなどを使用された経験はありますか?
781 : 設計思想というかパラダイムが20世紀だわな ツールバーのフローティングについて議論してる時点で。
782 : >>780 ありません。どの辺が古いのでしょうか。 CDockableというクラスを用意して CToolBar, CDialogBarの第二基底クラスにするという方法が いいかもしれない。これならドックや浮動できるバーのクラスを 増やすことができる。
783 : struct CDockable { virtual BOOL NegotiateSize(SIZE siz, BOOL bVertical = FALSE) = 0; virtual DWORD GetBarLayout() const; virtual BOOL SetBarLayout(DWORD dwBL_); }; class CToolBar : public CToolBarCtrl, public CDockable { ... }; こうしといて、新しく追加する CFrameWnd::AddBar(CWnd *pBar, DWORD dwBL_) CFrameWnd::SetBarLayout(CWnd *pBar, DWORD dwBL_) の中で pToolBar = dynamic_cast<CToolBar*>(pBar); pDialogBar = dynamic_cast<CDialogBar*>(pBar); pDockable = dynamic_cast<CDockable*>(pBar);とする。
784 : もっと低レベルな基底クラスを作ってレイアウトも任せたらどうでしょうか
785 : dynamic_cast使わなくて済むように設計するだろ普通
786 : >>784 その基底クラスのインターフェースはどうゆう風にすれば? 擬似コードを書いてくれると助かります。
787 : >>785 CToolBarとCDialogBarの第一基底クラスは共通化できない。 処理を共通化するには第二基底クラスが必要で、第二基底クラスを 取り出すのにdynamic_castが必要なのです。
788 : ツールバーもただのコンテナの一種じゃないですか コンテナの基底クラスが先なんじゃないですか
789 : MSDNのヘルプでWPFやwindowsFormsのクラスを見ると 継承しているクラスの階層が出てます そのクラスで何を実現しているか参考にしてはいかがですか?
790 : >>788 Win32APIやMFCではすべてのウィンドウは普通にコンテナになる。 あえてコンテナのインターフェイスを追加する必要はない。
791 : 普通のコンテナの機能がすでにあっても 一貫した機能を提供したい場合はその都度コードを書くより 基底のクラス書いたらいいのではと思ったんですがおせっかいでしたね
792 : これで終りにしますが、 フローティングパネルというコンテナクラス作って 中にツールバーやその他を置くだけでいいと思います コントロールにそのコントロール特有ではない機能を入れるのはおかしいです コンテナはコンテナ基底クラスをつくって AddBarのような単機能向けじゃなくてAddでコントロール基底クラスを 追加できるような作りにしておけばいいと思います 内部でdynamic_castというのは誰かが書いていた通り 20世紀の思想だと思います
793 : コンテナ基底クラスって要るの? 余計なものって感じがするんだけど
794 : 【緊急ニュース】クリスマスまでにフローティングツールバーが実現! ドック状態の保存まで出来て、超便利な予感!
795 : >>ドック状態の保存まで出来て 出来るのが当たり前でしょ
796 : 【討論終了】
797 : http://www.codeproject.com/KB/toolbars/dockwnd.aspx
798 : フローティングツールバーを使ったことのある人 ……1/100人 フローティングツールバーを使ったことのある人100人のうちフローティングツールバーを便利だと思う人 ……3/100人
799 : フローティングツールバーを使った代表的なアプリって何があるんだろう
800 : photoshop
801 : VC9EE
802 : VB6IDE
803 : 今の時代にこんなことやって公開する人がいるのか。 俺も、20年近く前MFCが糞重たいんで、その置き換えにフレームワークとコンテナ作ったよ。 つい最近まで実務に使ってたが、今から始めるなら作ろうとは思わんなぁ〜
804 : 0.0.68! フローティングツールバーのサポート。 CFile::GetFileSizeを強化。MzcGetEditorCmdLineを追加。 CWnd::GetParentFrame, C{ToolBar,ReBar}Ctrl::AutoSizeを追加。 MAX, MIN, BOUND, SGN → MZC_MAX, ...など数多くの名前の変更。 左ボタンを押しながら右ボタンを押したときのツールバーのバグ修正。 デフォルトのメッセージ処理を修正。大規模な仕様変更。 CFrameWnd::Add{Tool,Dialog}Bar→CFrameWnd::AddDockableBar。 CFrameWnd::AddStatusBar→CFrameWnd::SetStatusBar。 OnIconEraseBkgndとOnEraseBkgndの引数をCDC*に。 CWinApp::DeleteAllSettingsを追加。 CResizeeDialogとCDialogBarの修正と強化。
805 : CW 0.6! MinGWのコンパイルオプションに-lkernel32 -luser32 -lgdi32を追加。 仕様変更に伴うテンプレートなどの変更。
806 : ダイアログバーとフローティングツールバーが使えるようになったよ。 EnableDockingでBL_FLOATING無指定なら、フローティングが 無効になる。いつもの通り、バグ発見にWM900円差し上げます。 ダイアログバーの使い方はsamplesのBrowserAppを見てください。
807 : ダイアログを使わずにタブで画面切り替えってどうやってやればいい?
808 : http://wisdom.sakura.ne.jp/system/winapi/common/common11.html
809 : http://homepage3.nifty.com/aokura/tips/frame3.html
810 : >>803 興味津々です。コード見せてよ。
811 : CRichEditCtrlは必要ですか? 必要ありなしで投票お願いします。
812 : いるでしょ、普通
813 : ところでこれってどの部分でMFCを超えてるの?
814 : 9xサポートするならそのままラッピングしただけの実装はいらね 6.0相当まで実装して背景に画像とか容易に設定できるなら欲しい
815 : WMって何に使えるの?
816 : >>813 画像読み書き、ダイアログの項目の動的配置、 例外がstd::bad_allocのみ、スクリプト・音声・音楽のサポート、 開発環境が自由。 >>814 VC6相当のMFCですね。ReBarやツールバーの背景ですか? 一般のウィンドウの背景もですか? MzcTileBitmapで実装してみるか。。。
817 : >>815 これを見て。 http://www.webmoney.jp/shopping/
818 : >>816 立地エディットのバージョンだよOffice2007相当 1.0だと文字単位の背景色すら使えないでしょ そうするとカラー文字表示だけしたいのに自前で実装かHTMLコントロールになっちゃう
819 : http://blogs.msdn.com/b/murrays/archive/2006/10/14/richedit-versions.aspx
820 : こりゃバージョン管理が大変だな。 CRichEditCtrl{,2,3,4,5,6},MzcInitRichEdit{,2,3,4,5,6}
821 : そんなにいらないよ
822 : 4以上で作っておけば片山以外は問題ない
823 : せっかくフローティングツールバー作ったんだし ビルド済みのサンプルも用意しといたほうが間口広がるんじゃね
824 : コモンダイアログで255文字超えたパス扱えないから対応した ファイル選択ダイアログとフォルダ選択ダイアログ作ってよ あと画像読み込みでICCプロファイルV4までの反映とWCS対応、非対応OSはLittleCMS辺りで
825 : tabないのか IE9あるよな 複数のページ開いて置いてどれかのタブヘッダドラッグするよな 左右に動かすとあら不思議 こういうのを標準で実装しろよ
826 : ↑片山くん実装ヨロ
827 : See through Rich Edit control http://www.codeproject.com/KB/edit/SemiRichEdit.aspx Drag and Drop Tab Control http://www.codeproject.com/KB/tabs/draggabletabcontrol.aspx RichEdit{41,50,60}の技術情報が足りないので、検索中。。。
828 : MFC Custom Tab Control http://www.codeguru.com/cpp/controls/controls/tabcontrols/article.php/c7407
829 : >>818 RichEdit 5.0/6.0はAPIもDLLも非公開のようですぞ!
830 : 日本語版と英語版のRichEdit 1.0, 2.0, 3.0, 4.1のDLLは、 どこからダウンロードすればいい?
831 : Windows Installer 2.0の中にRichEdit 3.0のriched20.dllが 含まれている。だが、msftedit.dllのダウンロード元が見つからない。 どうしよどうしよ。
832 : msftedit.dll再配布可能じゃないな。残念。
833 : イブなのにこんなに書き込みしてるとは
834 : 0.0.69! mzcrichでリッチエディットコントロールをフルサポート。 mzc.hでMAX_FARLONGPATH(=512)を定義して「かなり長いパス」サポート。 CClipboardWatchWnd::Create→CClipboardWatchWnd::CreateChild。 CGridWnd::Create→CGridWnd::CreateChild。USE_NOSETTINGSを追加。 CFrameWnd::EnableDockingの引数の規定値をBL_ALLに変更。 CFrameWnd::{Max,Min}imizeBar, CFrameWnd::GetReBarOfBarを追加。 CWnd::SendMessageToDescendantsとMzcSendMessageToDescendantsを追加。 MzcInvalidateDescendantsを追加。バーの表示が乱れるバグを修正。 CWnd::{Load,Save}WindowPosを追加。
835 : CW 0.7! 仕様変更に合わせる。
836 : おつおつ Direct3Dまだー?
837 : >>814 背景画像を設定する方法がわからなかった。 多分、WM_ERASEBKGND、EM_FORMATRANGEなどを使うのだろうけど。 >>824 MAX_FARLONGPATHでMAX_PATH以上の文字をサポートしました。 最後の一行は分からなかった。 >>825 時間切れ。>>836 3Dをサポートする予定はありません。
838 : 【継続サポート終了】 MZCの継続サポートを終了し、以後、断続サポートに切り替わります。 WebMoneyによる寄付なども受け付けております。 寄付などをなさった場合はご一報ください。 お問い合わせはこちら: katayama.hirofumi.mz@gmail.com
839 : クラスライブラリMZCの公式ホームページ: http://katahiromz.web.fc2.com/mzc/ MZCのGoogle Codeプロジェクト: http://code.google.com/p/mzc/ あ り が と う ご ざ い ま し た
840 : 0.0.70?(非公開) mzcver_.hにMAKEVER(a,b,c,d)とMZCVERを追加。 CWnd::{Load,Save}WindowPosを修正。 C*{Vector,List}::Uniqueを追加。 CStringVectorの初期化のバグ修正。 最新版のMZCは、WebMoney2000円です。メールでご連絡ください。 katayama.hirofumi.mz@gmail.com
841 : 2000円も出すやついんのかよ。 どんだけ自信過剰なんだ。
842 : 一応2chは無断の広告活動は禁止されている 運営に通報したらスレごと消されるな 過去にも似たようなことしたスレはバッサリ消されてる 暇な人はどうぞ 嫌なら片山は上のレス消してもらえ
843 : あれだな ヤフオクなんかでアホみたいな自作絵にバカみたいな値段つけて もしも一枚でも売れたらウマスwwwって言う浅ましさ
844 : これは広告なのか?
845 : iPhoneとandroidで動くんなら 10000円くらい出すんだが
846 : >>842 http://toro.2ch.net/test/read.cgi/tech/1313183984/ というスレがあって、金儲けできてるらしい。
847 : 諸君は、それほど貧乏なのか? 500万円くらい老後のために貯蓄しているんじゃないのか? 貧乏人のために、最新版ソースはSVNに上げといた。 これで諸君も飢え死にはしないだろう。SVNが分かるヤツ限定だけど。
848 : 重複ファイル削除ツールを作った。ビルドには最新版のMZCが必要。 http://katahiromz.web.fc2.com/duperase/
849 : なんで突然煽りはじめたんだ?w
850 : Tutorial 35: RichEdit Control: Syntax Hilighting http://www.interq.or.jp/chubu/r6/masm32/tute/tute035_Jp.html
851 : 0.0.71? MzcDoesFileExistとMzcDoesDirExistを追加。 MzcGetDirDriveTypeを追加。マルチモニタをサポート。 MzcGetMonitorRectの追加とMzcGetWorkAreaの強化。 MzcCenterWindowを修正。
852 : デバッグ用のnewって必要ですか?
853 : マルチモニタをサポートするにはWINVER >= 0x0500の定義が必要。
854 : デバッグ用のnewって他のコンパイラでサポートするのが 難しいんだよな。__FILE__/__LINE__を埋め込むのができないし。
855 : いまさらMFCってのが泣かせるお
856 : #define COMPILE_MULTIMON_STUBS #include <multimon.h> MinGWに<multimon.h>がない。しかもBCC55では、<multimon.h>に 関する関数の定義をinlineもなく、そのまま埋め込んでいる。 使えねー。
857 : ttp://codepad.org/Qz23i49K これを使うことに決めた。文句ないよね。
858 : >>857 バグがあったので、こっちにした。ttp://codepad.org/3Rwidmma
859 : >>858 感謝
860 : VC++のデバッグ版CRTは意外と機能が多くて仕様設計に手間取っている。 それから、<commctrl.h>に_TrackMouseEventというのがあるから、 これを使うことにする。
861 : それWin95対応してないけどいいの?
862 : 0.0.72? TRACE{A,W}を追加。mzc{new,{ma,ca,rea}lloc,free}を追加。 MzcEnableMemoryTraceを追加。 MzcTrackMouseEventDx, MzcGetDiskFreeSpaceExを修正。 CMap*::GetValueに非constメソッドを追加。
863 : >>861 _TrackMouseEventはWin95+IE3で動くはず。 将来的にはWonders 95という互換レイヤーで吸収させるつもり。
864 : メモリトレースができるようになりました。デバッグ版で new/malloc/freeの代わりにmzcnew/mzcmalloc/mzcfreeを使って、 MzcEnableMemoryTrace(TRUE);を実行すればトレースできる。 MzcEnableMemoryTraceは、MFCのとは違ってスレッドローカルだから、 スレッドごとにトレースができる。
865 : new[]は?
866 : ラーメンもらえる ttp://mb.softbank.jp/mb/special/SHIRATOJIRO/ramen/
867 : 0.0.73? MzcConvertForLayered→MzcPremultiplyDIB。 MzcRand→MzcRand{Int,Double}。 MzcCreate{24,32}BppDIB, MzcCreate32BppSolidDIB, MzcGetBlendFunctionを強化。 MzcCreate24BppSolidDIBを追加。 samplesにLayeredSampleを追加。
868 : MzcRandの引数があいまいだった。ゴメン。 LayeredSampleでは、半透明のスライムがデスクトップを動き回るぞ。 >>865 new[]は定義されているよ。何か問題でも?
869 : SVNでricheditに関するファイル追加を忘れていた。ゴメン。
870 : 0.0.74!(公開) CGridWnd→CDividerCtrl。 CFrameWnd::OnSizeの一部をCFrameWnd::DoDockLayoutに分離。 GridFrameApp→DivFrameApp。 CSDIFrameWndがおかしい(サンプルのSmartSDIAppとImageViewer)。 ウィンドウ一覧が正しく表示されないバグがある。CShareが原因か? また、CFrameWnd::{Load,Save}DockStateで、バーの順序が 保存されないバグあり。
871 : CW(クラスウィザード) 0.8! CGridWnd→CDividerCtrl。 ユーザがプロジェクトのテンプレートを追加できるようにした。 英語版のパラメータ設定が日本語になっていたのを訂正。 --- バイナリ付きのサンプルをホームページで提供するようになりました。
872 : 0.0.75? CShareのバグ修正。 CHyperlinkCtrlのカーソル設定を修正。
873 : 0.0.76? CResizeeDialogのサイズグリップ表示に関するバグを修正。 MzcChangeWindowMessageFilterを追加。
874 : 0.0.77! m_rebar{Top,Bottom,Left,Right}をm_rebars[4]にまとめる。 CFrameWnd::{Load,Save}DockStateでバーの順序を保存するようになった。 CFrameWnd::DoInnerLayoutを追加。 サンプルをプロジェクトから分離。 CDialogでPostNcDestroyが呼ばれないバグを修正。
875 : >片山博文MZ バグだらけで埋まるスレ 設計しないで後付けもほどほどにしろ。
876 : 新規に作らないても、動作が安定してるやつのラッパーで良いと思うんだが。
877 : 片山博文MZは開発の実力はあると思うよ。 手間、作業を減らす事を覚えて必要なことに手間かけた方が良いと思う。
878 : コーディング力と必要な手抜き力は反比例すると思う。
879 : アンドロ板にも出張してきたねコイツ
880 : C#スレにも来たよ
881 : 俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
882 : 俺Rぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃ!
883 : >>881-882 成りすましは泥棒の始まりだよ。これが噂のリボンブラ♪
884 : 俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
885 : 全部まとめて気持ち悪い
886 : >>885 トラップ発動! 補導されるです。 性情報に耐性が無い坊やは2ちゃんねるに来ちゃだめです!
887 : ttp://kohada.2ch.net/test/read.cgi/os/1248608761/838 838 名前: 片山博文MZボット ◆0lBZNi.Q7evd 投稿日: 2012/03/22(木) 17:35:06.25 Win32 APIに詳しい人、Windows互換OS「ReactOS」の開発を手伝ってくれませんか? ReactOS開発の手引き http://katahiromz.web.fc2.com/reactos/tebiki.html
888 : 俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
889 : 888
890 : 0.0.78! CWinApp::FlushSetting→CWinApp::FlushSettings。 MzcChangeWindowMessageFilter→MzcChangeWindowMessageFilterEx。 リファレンスをバイリンガルにする。
891 : ドラッグできるタブコントロールは難しいんだな。。。
892 : WTLのCTabViewはドラッグできるから参考にすれば? ドラッグドロップの部分はシンプルな実装だよ
893 : >>892 ありがと。
894 : GCCの場合はマルチスレッドのコードをpthreadで実装しなければいけない。 GCCで_beginthreadexを使っているコードは設計ミス。修正しなければ。
895 : >>893 礼を言うときくらい丁寧語を使えよ、893以下のモラルだな
896 : なぜかNGIDに登録されてるわ
897 : D言語に移植してみるかな。。。
898 : ちょっと近寄らないでくれますかね
899 : レス番飛びすぎだろこのスレ
900 : ほしゅ
901 : いま見えてるのは899
902 : そこまでして自分を偽らなくてもいいのに。
903 : また作ったよ!!! P2PSaverは、フォルダから実行可能ファイルを削除するソフトです。 ファイル交換ソフトなどでダウンロードした偽装ファイルを削除するのに お使いください。 http://katahiromz.web.fc2.com/p2psaver/
904 : >>902 偽っていないよーん。これが本当の自分だよーん。スポンサー募集中。
905 : >>904 君は馬鹿かね?>>902 が君に対してレスしたとは限らないのに そこで反応したら、君に思い当たる節があるということがばれてしまうじゃないかw 分かりやすいというか、底が浅いというか・・・
906 : 底は抜けてるよ
907 : 根拠がないな
908 : やっつけ仕事が終わるまで待っててくれよ。
909 : MZCは、無料ですよ!!
910 : くやしいけど腰が抜けちゃった
911 : ちょうど今から一年前、と、言っても今年はうるう年ですので普段より1日長い366日前、約50年も続いたテレビのアナログ放送が終了しました。 あのときの、前日までの異様なほどの混乱と、当日の不気味なまでの落ち着きぶりを、覚えているでしょうか? あれから一年たったのですよ。 と、言っても我が家には相変わらずアナログのテレビが一台鎮座し、電源を入れれば普通にテレビ番組を見ることが出来ます。もちろんケー ブルテレビ局によるデジアナ変換で見ることが出来るだけですが、結果数年前と何も変わっていません。街も、一歩きすれば相変わらずあち こちに放置されているブラウン管テレビを発見することが出来ます、これも以前と何も変わっていません。結局、地上波放送の停波というのは テレビ局のためのものであり、わたしたちのためのものではなかったのです。 テレビ局のいいわけでは、アナログ波を続けられないのは余計なお金が掛かるから、というものでした。じゃぁあれから一年、アナログにお金 を使う必要がなくなった地上波の番組はどれだけ質が上がったのかと見てみますと・・・。 朝情報番組・ワイドショー・ドラマの再放送・通販・ドラマの再放送・通販・ワイドショー・ドラマの再放送・地方情報・ニュース・2時間バラエティ・ス ペシャル番組・ニュース・通販・・・ 当地のとある放送局はこんな構成です。一年前に比べて質が上がってる?とてもそうは思えません。バラエティ番組の2時間構成はもはやわ ざわざ「スペシャル」と銘打つことすらしていません。3時間でやっと「スペシャル」扱いです。質はあがるどころか下がっている、と言っても過言 ではないでしょう。 http://blogos.com/article/43710/
912 : なぜ時間が伸びるとスペシャルになるのか なぜスペシャルだと質があがったことになるのか
913 : >>912 時間は伸び縮みしない。伸び縮みできるのは空間だけ。 ちなみに空間の移動速度に制限はない。
914 : 空間の質量はヒッグスが支配している
915 : だが人間にとっての時間が不変だと誰に言えよう 致命傷を負った瞬間、時間は劇的に伸縮していると言えるのではないか
916 : 人間には時間を感じる器官が有るんじゃなかったっけ? プログラム的に言えば、ロジックのアップデート回数を増やしてるだけだと思う。
917 : >>914 その粒子を人間が支配できれば2063年にワープ航法が実現するのも夢ではない。
918 : 大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に http://engawa.2ch.net/test/read.cgi/poverty/1343304708/ 自称グローバル企業楽天三木谷「Windowsって漢字のアカウント許してるのかよw2バイトとかありえねぇ」 http://engawa.2ch.net/test/read.cgi/poverty/1343412938/ 馬鹿な日本人が漢字使ってマンガしか読まないからw楽天三木谷日本人に宣戦布告か? http://engawa.2ch.net/test/read.cgi/poverty/1343394199/ 大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に http://engawa.2ch.net/test/read.cgi/poverty/1343304708/ 低評価レビューを隠して逃走した楽天・三木谷社長「細かいことで騒いでいるのは少数派ですよw」 http://engawa.2ch.net/test/read.cgi/poverty/1343390542/ 三木谷「コボの出足は大成功、ネガティブな口コミは誤情報だから消し、内容を吟味して再掲載する」 http://engawa.2ch.net/test/read.cgi/poverty/1343403455/
919 : 馬鹿には無理
920 : 保守
921 : 保守
922 : 0.0.79! MzcLineSegmentPointDistance、MzcLineSegmentPointDDistanceの間違い修正。 MzcJoinJoin, MzcSplitSplitを追加。CDataGridの再設計。 CDataGridで何度でも「元に戻す」ができるようになった。CDataGridAppの改良。
923 : 人生も元に戻したりやり直せるといいね。
924 : >>922 乙。
925 : ふふふっ、無制限UNDOができるようになったということは、 小生も上級プログラマの仲間入りをしたということだ。 諸君、これからもどんどん行くぞ! ついてこれるかな?
926 : ははははははははっははははっ。
927 : 馬鹿には乙
928 : 要望あったら聞いとく。ドラッグ可能なタブコントロールと それを使ったプロジェクトテンプレート。CDataGridのマクロ再生・記録。 これからやる。
929 : サイズやインデックスがINTなのは、64ビット化を考えると 設計ミスだな。64ビットならsize_t使わないとダメだな、うん。
930 : http://27.media.tumblr.com/tumblr_m2gkcq0d5J1qc10j6o1_250.gif
931 : 未成年は>>930 を見ないでね。ゆれ方が変?(♂かな?) 0.0.80! ホームページの強化。 多数のバグ修正。多数の日本語文字コードをサポート。Base64サポート。 CDataGridの強化で、何回でも元に戻す、やり直す、マクロ記録・再生が可能に。 http://katahiromz.web.fc2.com/mzc/ http://code.google.com/p/mzc/
932 : サンプルのDataGridAppを見てみろ、すごいだろすごいだろ。。。 短いコードで日本語文字コードのほとんどを制覇できる。。。 その上、アンドゥ何回もできる。マクロも記録・再生可能。 64ビットサポートとフレームワーク刷新のため、新たなるクラスライブラリ MZC2の開発が決定になりました。これからもMZC2にご期待ください。
933 : 【MZC2の開発方針】 64bitサポートのため、データサイズとインデックスにはsize_tを使う。MAXSIZE_Tを定義。 名前空間はなし。#include <mzc2/mzc.h> 関数とマクロ関数名はMzcで始める。 定数名と構造体名は、mzcで始める。クラス名はMで始める。 いくつかのクラス名は短縮(MStrVecVec等)。マクロは他のライブラリと衝突しないように。
934 : (続き)多重継承は使わない。BOOLリターンよりもエラー情報のあるLONGリターンを推奨。 データの扱いに一貫性と例外安全を持たせる。MzcSwapを定義。文字列以外にもMid,Left,Rightを定義。 DirectMusicを使わないMID再生をサポートしない。スクリプト実装をもっと分かりやすく。 D言語の良い所を取り入れる。
935 : wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
936 : 【MZC2の努力目標】 ソートの高速化。シェアウェアサポート。AVI動画解析。ランダムデータ生成。 多重継承を使わない浮動ツールバー実装。音声入力録音。Webカメラサポート。 アニメーションGIFサポート。メモリ不足時のメッセージ表示。
937 : (続き) SEH発生時のヘルプ自動表示。クラスウィザードの充実。正規表現(鬼車)。 ブロックされないHTMLヘルプ。テキストエディタコントロール。 自前のリソースエディタとIDE。
938 : 近傍系を選び位相空間の公理化を行った。
939 : 20才未満お断り。>>930 の拡大版。ぱぱっと作ってやったよ。 ttp://www.dotup.org/uploda/www.dotup.org3547487.gif.html
940 : GIFアニメ難しい。。。
941 : バグ発見したらレポートしてね。 解決に結びつくとWebMoney900円差し上げます。よろしくね。 katayama.hirofumi.mz@gmail.com
942 : >>941 しになさい
943 : >>941 1万モリタポはどうですか
944 :2012/10/27 >>942-943 雑魚乙。
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
自然言語処理スレッド その3 (617)
Rubyについて(アンチ専用) Part004 (747)
C#は糞2.0 (802)
Visual Studio IDE環境 (549)
NullPointerExceptionを「ぬるぽ」と呼ぶスレ6 (378)
monazilla Part 6 (623)
--log9.info------------------
今まさにどこで乗り鉄してますか?211日目 (691)
【速報】キセル初級者スレ24【単細胞】 (783)
鉄道ファンを馬鹿にする木村裕子に渇! (712)
駅弁 うまい駅弁 (゚д゚)ウマーい駅弁【38食め】 (245)
【現地へGo!】復活蒸気機関車の情報交換しよう 66 (243)
IDでオーバーランするスレ 50m (556)
【レポ】関西のフリー切符【沿線の店】 (917)
何で撮り鉄は他人に迷惑をかけるの? (390)
【岩泉線】JR盛岡支社 Part6【廃止】 (436)
グランクラス 今後を考える (209)
ラッキー☆スターさんの乗り鉄1 (257)
【2013春】全国ICカード総合スレ Part4【相互利用】 (487)
【ウェップ】ホーム・車内・線路でのゲロ22【ベシャー】 (921)
水戸岡鋭治総合スレッド (238)
【JR束】グリーンスタッフの語り場22【契約社員】 (371)
【マナー】DQN鉄ヲタ晒し上げスレッド【1人目】 (367)
--log55.com------------------
【余命チョメチョメ日記管理人】ブログで煽り960人に左派弁護士への懲戒請求を出させる→本人は請求せず→960人が弁護士から訴えられる予定★9
【暴言】麻生太郎財務相「セクハラ罪っていう罪はない。殺人とか強制わいせつとは違う」
【余命チョメチョメ日記】市議会議員 小坪慎也 余命ブログを支援します→弁護士が懲戒請求者に損害賠償請求→私は観察者★2
【人口減少】日本の子どもの数1553万人 37年連続で減少 過去最低を更新 ★5
【余命チョメチョメ日記管理人】ブログで煽り960人に弁護士への懲戒請求を出させる→本人は請求せず→960人が弁護士から訴えられる予定★10
【暴言】麻生太郎財務相「セクハラ罪っていう罪はない。殺人とか強制わいせつとは違う」★3
【人口減少】日本の子どもの数1553万人 37年連続で減少 過去最低を更新 ★6
【余命チョメチョメ日記管理人】ブログで煽り960人に弁護士への懲戒請求を出させる→本人は請求せず→960人が弁護士から訴えられる予定★11