MFC、Win32++を超えるライブラリを作るスレ
マジで聞くけどタダのラッパーならもう十分だろ?
何でイマサラ?
どんな面で超えるのかも明確にしないと。
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
1>リンコしています...
どうせ作るなら少なくともUnix系/Mac/Win対応のクロスプラットフォームで。
こんなんだったら、WTLで十分だと思う。Win32++は知らないんでノーコメント。
自分のツッコミどころ自体がツッコミどころ満載って感じがする。
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に似せなくていいから。
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ですら使える。
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());
あ、もちろんこれは例だから、実際こんな生ポインタむき出しは勘弁してくれ。
VCLを知らぬとな
この板は
>>1の日記スレなのか?
まあどうでもいいが、MFCはともかくとして、
Win32++では何が問題で、このMZCは何を解決する方針なんだ?
まずはそれから始めろや
>>1
>>2 ただのラッパーでいいのがありますか?
>>3 Rebarが簡単に扱えて、ツールバーやダイアログバーの取り外しができるような。。。
>>6 それは私の専門外です。
>>7 WTLを使うにはATLが必要じゃなかった?
>>8 修正しました。
basic_stringは書き込み可能なバッファとして使えないから、
あまり好きじゃない。
>>9 WinSTLって初めて聞いた。使ってみることにする。
> コンストラクタでLock→デストラクタでUnlockする補助クラス欲しい。
検討中。
>>10 >えー、またCXxxクラスオブジェクトを生ポインタで持つの。
mzcwin.cppのどのあたりのコードのことですか?
>CWndコピー返しで本当にいいのか?
アップキャストはできたほうがいいですね。
やっぱりポインタの方がいいのかな。。。
ハンドルむき出しだと、
コンストラクタでメンバーが初期化できないからだめか。
コンストラクタの代わりのものを用意するか(FromHandleとか)?
検討中。
Version 0.0.1になりました。全然できていない。
16 :
片山博文MZ:2010/10/11(月) 16:57:55
HandleMapについてはMFC方式がベストと判断しました。
CWnd::FromHandleを実装したいと思います。
>>14 今度のC++の規格改定で、basic_stringの要素が連続する保証がつく。
そのため、こんなコードも合法になる。
std::basic_string<TCHAR> s;
s.resize(MAX_PATH);
DWORD length = GetTempPath(MAX_PATH, &s[0]); // エラー処理省略
s.resize(length);
まあ、それを根拠に今までのC++ライブラリの実装でそんなことやっていいのか、と言う点は意見の割れるとこだろう。
一応、どいつもこいつもこんなコード動くような実装にはなっているけど。
コンパイラは何をどのバージョンからサポートすんの
VC++しか眼中にないライブラリ
日本語がまともに通らないライブラリ
なんだかんだでWinAPIなみにグチャグチャになるライブラリ
そんなものならいくらでもある
gccで安心して利用でき、日本語がごく普通に通り、見通しのいいライブラリはあまりない
そんなGUIライブラリがあるなら喜んで利用させていただくよ
あー、確かにg++で使えるのは魅力的だなあ。
あとなんでDT_METAFILEのときだけPlayMetaFileなの?
と思ったが、MFCもWTLもそうしているのかー。
DisableThreadLibraryCallsはDLL_PROCESS_ATTACHのときに呼ぶんだぞ。
ただ、コンストラクタ・デストラクタの呼び出しが絡むから、
C++では本当に使って大丈夫かよく調べておいた方がいい気がする。
あと、拡張メタファイルを描画する関数も用意してよ。
Win32ではただのメタファイルなんて過去との互換のためでしかないから、めったに使わないよ。
22 :
片山博文MZ:2010/10/16(土) 10:23:16
バージョンアップ! 0.0.3
>18 BCC55、MinGW、VC++6はサポートしたいと考えています。
>20 修正しました。
>21 拡張メタファイルをサポートしました。
BCC5.5もサポートするなら早めに検証やっといたほうがいいぞ
あれはいろいろ面倒くさい
車輪の再発明
25 :
片山博文MZ:2010/10/24(日) 14:46:55
バージョンアップ0.0.4
それよりOSASKかMONAOSのSATAドライバ作ってよ
AHCI対応で
MFCってIDE前提っぽいとこあってエディタ上で書くにはめんどすぎる上に
結局Win32API併用しないと役に立たない
クロスプラットフォームなんて夢のまた夢
いっそもっと抽象化してAWTみたいなのに徐々に発展していって欲しい
そしたらマジ使いたいです…
28 :
本田:2010/10/24(日) 21:32:38
29 :
本田:2010/10/24(日) 21:34:12
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 :
片山博文MZ:2010/10/31(日) 14:10:49
バージョンアップ!
0.0.5
新Verおつかれさま
PreTranslateMessageをどんな風に実装しようか。。。
ん?どういうことだ片山
何を悩んでいる
使ってないクラスをトリムしてスマートなライブラリをリリース時にバンドルできる仕組みを設けてくださいな。
>>31 四角い車輪を作ってるから再発明じゃないよ
LGPL v2.1 なら動的リンク用のヘッダ用意してくれ
38 :
片山博文MZ:2010/11/07(日) 17:06:26
0.0.6
>>35 そういうときはスタティックライブラリを使ってください。
>>37 mzcver_.hに動的リンクのコードを書きました。
VC10でコンパイル通らないんだけど
スタティックにしてもdllのファイルサイズは変わらないじゃない。
41 :
片山博文MZ:2010/11/13(土) 15:22:58
0.0.7
>>39 VC++を用意しているのでもう少しお待ちください。
>>40 DLLを使わなければいいじゃん。
42 :
片山博文MZ:2010/11/21(日) 14:00:07
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.
VC++6.0を使う
44 :
片山博文MZ:2010/11/28(日) 13:06:28
ver. 0.0.10
VC++でもnmakeを使えばビルドできるようになりました。ところで
#pragma comment(lib, "...")
みたいにソースコードからリンクする方法がMinGWでもありませんか。
45 :
片山博文MZ:2010/11/28(日) 13:09:08
Borlandでプリコンパイル済みヘッダーを使う方法を教えてください。
それと、Borland Implibで次のような警告がでるけど、
どういう意味でしょうか。教えてください。
Warning duplicate symbol: @CWnd@SendMessageW$quiuil
Warning duplicate symbol: @CWnd@UnsubclassWindow$qv
厨房でも辞書の使い方くらい知ってるぜ
47 :
片山博文MZ:2010/11/28(日) 13:45:21
「警告:シンボルが重複している」
英語の意味くらいは分かりますが対処法が分かりません。
関数のインライン化を無効にすればいいのでしょうか?
>>45 -Hc プリコンパイルヘッダをキャッシュする。
(詳しい説明がほとんどないのでよくわからんが、たぶん一時的にメモリに確保するんだと思う。ユーザーズガイドの「C++Builder のコンパイル時間の最適化」あたりを参照)
-He 外部ファイルを使ってプリコンパイルヘッダを使用可能にする。
(詳細不明。ヘルプのどこを見ればいいですか?)
-Hs スマートキャッシュしたプリコンパイルヘッダを使用可能にする。
(詳細不明)
-Hu プリコンパイルヘッダを生成しないが、すでに存在すれば利用する。
(プリコンパイルヘッダ名を指定したい場合は、-H=filename と共に使えばいいようだ)
プリコンパイルヘッダって勝手にでかいファイル作られて気分悪い
コンパイルなんか遅くてもいいからコンパイラは余計な事しないで欲しい
定義を *.inl に分けてるみたいだけど *.h から常に読み込まれてて意味なくないか?
それが解決したところで dll にしても CThreadLocal とかを使う限り LGPL 感染を免れない
もうちょっと考えてくれよ
コンパイルに3時間とかかかっても同じことを言うのか?
>>50 そのくらいの規模のソース扱う場合は少しの変更でもコーディングの何倍も
時間をかけて設計書書くのが普通だけどもしかしてPMが無能な不幸環境にいるのか
コンパイルなんか何度もするものじゃないだろうよ
windows2000のコンパイルで一晩とか言ってたな
MSの開発者も無能なのか
キャッシュが機能気に入らないなら
自分でpch無効に設定して毎回リビルドすりゃいいだろ
勝手に時間の浪費しとけ
定義をinlに分ける(それを.hからincludeする)のは別に珍しくないと思う。
ATLやMFC、WTL、Boostでもときたま見かける。
dllなりlibなりにして使うときにinlまでincludeしてたらだめだろ
それならそれで別のヘッダを用意しなきゃならなくなる
ライセンスの問題をコンパイル時間がどうとか
問題をすりかえてるのがおかしいんだろ
つまらん流れにした
>>50 がわるい
作者の方は、どの程度、LGPLであることにこだわってます
でしょうか?GNUの考え方に賛同して行動されているのなら
ゴメンなさいですが、あまり強く思われていないならば、
wxwindowライセンスやCPLのようにバイナリ配布制限の
緩いライセンスについて考えてもらうことはできますでしょうか?
それらならば、dll化の必要性がかなりなくなるでしょうし、
(L)GPLを敬遠してる人でも興味をもつ可能性が増えそうに
思うのですが。
※wxwindowライセンスは基本はLGPLだけどバイナリ配布に
ついてはアプリ作者がわりと自由にライセンスできる。
CPLもバイナリはとやかくいわず、ただ、ライブラリ自体を修正
した場合は弄ったライブラリをCPLで公開する必要がある。
(といった感じだったはず)
s抜けてた.
wxwindow ライセンス → wxWindowsライブラリ・ライセンス
59 :
片山博文MZ:2010/12/05(日) 10:54:04
バージョンアップ0.0.12!
FreeBSDライセンスにしました。CTimeとCTimeSpanを追加しました。
コンパイルが速くなりました。
<mzc/config.h>で_MZC_NO_INLINESを#defineすると、
次のようなエラーが出てきます。なぜでしょうか?
Error: 外部シンボル
'CThreadLocal<MZC_THREAD_DATA>::~CThreadLocal<MZC_THREAD_DATA>()'
が未解決
初心者スレみたいなこときくなよ
あとstd::stringとか継承するな
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
古いrc.exeにはnologoオプションがない
っていうかちゃんとテストしてからリリースしてくれ
mzcdll.rcの#include "config.h"だってエラーになるし
>>59 ぱっとみたところ、メンバー関数テンプレートを .inl 側に
置いてるのが不味そう。ヘッダ側へ。
ところで、メインで使ってるコンパイラは何?
64 :
片山博文MZ:2010/12/12(日) 10:31:02
0.0.13! ライブラリ名の間違い修正。
CWndの規定のメッセージ処理を追加。mzccmn.cppを追加。
>>60 検討中。
>>62 /nologoを取り除いた。
>>63 BCC55
MinGWはUnicodeアプリをサポートしていますか?
65 :
片山博文MZ:2010/12/12(日) 11:13:05
>>64 MinGWでのUnicode化については自己解決しました。
>>65 BCC55(フリー版)で試したけど mzcres.h だと下のヘッダコメント化しないとだめだった
#ifdef RC_INVOKED
//#include <winresrc.h>
#endif
//#include <dlgs.h>
_MZC_NO_INLINESでODR違反になる
だいたい_MZC_NO_INLINESって予約語じゃないか他のにしてくれ
#define inlineでのキーワード削除も気に入らない
考えなしにこんなことしても今みたいにバグ出してるだけで何の恩恵も受けられない
そんなのはコンパイラオプションでやれ
68 :
片山博文MZ:2010/12/13(月) 10:16:42
>>67 MFCのAFX_INLINEを参考にしているのだが、inlineかout-of-lineか
に関するODR違反はそれ程、重要なことだろうか。
_MZC_NO_INLINESはC/C++の予約語ではない。
inlineのout-of-line化のコンパイラオプションに関しては、
サポートしていないコンパイラもある。
69 :
片山博文MZ:2010/12/13(月) 10:19:54
_MZC_NO_INLINESは、コンパイラオプションで定義しろ、という
意味なら、賛成する。それならば、<mzc/config.h>は使わないという
方向で。
アンダースコアで始まる処理系予約の識別子を使ってることをつっこまれてるんだろ
> MFCのAFX_INLINEを参考にしている
参考にしたならちゃんとMZC_INLINEとかでやるべき
> ODR違反はそれ程、重要なことだろうか。
ビルドが通らない
> サポートしていないコンパイラもある
インライン展開に関してinlineの有無を無視せず
無効にするためのオプションも存在しないコンパイラって
>>22の中にあるの?
あるいはこれ以外の環境もサポートするの?
まあやりたいならやればいいと思うけど
>>66のヘッダってincludeする必要あるの?使ってなくね?
MFC,win32++超える、と大口のわりには、ライブラリをnamespaceで
まとめずグローバル名前空間汚しまくるとか、min,maxマクロとか
非常に残念なモノを見る思いなんだが。
60をどう解釈したのか…オレstringを造り始めてないよね?
74 :
片山博文MZ:2010/12/19(日) 14:16:51
0.0.15! バージョン制御を厳密にした。MinGWで__wargvを使用可能に。
>>70-71 ありがとうございます。修正しました。
>>72 リソースを扱うときに必要です。
>>73 min,maxを大文字にしました。
CWnd::CreateGrayCaret、CWnd::UpdateDataの実装がわからない。
次はサンプルを充実させなければ。MinGWで次のような警告がでます。
dllwrap: no export definition file provided.
> min,maxを大文字にしました。
なにこれ笑うところ?
VC6対策かとも思ったけどコンパイル通らないし
76 :
片山博文MZ:2010/12/23(木) 14:05:58
>>75 僕、VC++6を持っていないからエラーメッセージを載せてくれると
ありがたいのですが。
VC6 なんてサポートする必要ないだろう。
いつまでそんな古いコンパイラつかってんだってかんじ
VC6はVB6並に現役だろ
某スクリプト言語もWindows版はVC6でビルドされてるはずだし
VC6使ってる人に質問だけど
プロジェクトがネットワークドライブ上にあると
コンパイル中にIDEまるごと死んだりする?
>>78 VC6の現役って、メンテナンスやVC6資産活用のための現役じゃね?
今 VC6 使ってる人間が、わざわざVC6でコレを使うとは思えないよ。
だいたい今これに興味があるモノづきなら、少なくとも Express くらい
は入れるだろうし。
古いコンパイラ気にするよりも、boostとかいまどきの他のC++ライブラリ
との共存に気を配って欲しいよ。
そういう意味では BCC55 も… C++98としては不十分な出来だし、
最適化へぼいからinlineでなくマクロ使う誘惑にかられるし。
>>1がBCC5.5メインにしてるような化石君だからしかたないね
82 :
片山博文MZ:2010/12/26(日) 14:24:54
今週はHTMLCONVの作成に忙しかったから、更新はなし。
ごめんなさい。
83 :
デフォルトの名無しさん:2010/12/26(日) 20:03:53
列挙型は専用の名前空間に入れろ。
Signal::Type a=Signal::ON;
と呼び出せるようにしておくと、
列挙型の名前を表す名前空間をUSINGで省略出来て便利だ。
ただし、グローバルでUSINGはするなよ。
そもそもそのままでSignal::ONと書けない仕様がおかしい
C++0xまで待ってね
86 :
素人:2010/12/27(月) 22:04:07
車輪の再発明をするスレは、ここですか?
BCC55つかうくらいならTurbo C++があるじゃん
>>87 どこかに OWL の資料が落ちてませんかね。いちどチェックしたいと思って。
mext owl だかなんかがあったような気がする
91 :
片山博文MZ:2011/01/02(日) 13:32:31
0.0.16! CComboBoxExを追加。サンプルのDialogAppを追加。
CWnd::EnableToolTips、CWnd::EnableTrackingToolTips、
CWnd::CancelToolTips、CWnd::FilterToolTipMessageあたりがわからない。
MFCのソースが見れる人、誰か教えて。
92 :
片山博文MZ:2011/01/02(日) 13:36:05
VC10でエラー出るしTRACE0なんて古いMFCマクロどこからコピペしてきたんだ
>>92 させりゃいいじゃん
ソース見てパクるだけでしょ
>>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 :
片山博文MZ:2011/01/10(月) 14:00:49
0.0.17! CView、CScreenViewを追加。
CWnd::SetToolTipTextでツールチップを設定するようにした、が、
なぜかsamplesのDialogAppは、ツールチップが表示できない。
なぜかstringa_test.devがundefined reference to `WinMain@16'で失敗する。
Code::Blocks + BCC55でビルドすると、なぜか実行できない。
うpおつおつ
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
エラー
>>1 いつになったらそのMFC、Win32++を超えるスパゲッティライブラリは完成するんだ?
101 :
片山博文MZ:2011/01/16(日) 15:13:30
0.0.18! CCheckListBoxとCDragListBoxを追加。
使えそうな関数をいくつか追加。
CWnd::SetToolTipTextでツールチップを表示できるようになった。
>>99 修正。
>>100 分からない。
うpおつ
蓮舫「Boostライセンスじゃだめなんですか?」
105 :
片山博文MZ:2011/01/17(月) 11:21:57
BorlandとMinGWでデバッグ(ステップイン)できますか?
MBCSとUnicodeのハイブリッド構成にしようかと思いますが、
単純に考えて2倍以上のコストがかかるので、躊躇しています。
CSplitterWndとCControlBarの実装は難しいですね。
>>103 駄目です。
106 :
デフォルトの名無しさん:2011/01/17(月) 21:27:36
いまさら MBCS サポートする意味あんの?
NT 系は内部で Unicode に変換されて処理されるし。
いまさら Windows 9x ターゲットにするやつもいないだろう。
手間は同じなんだから
Unicode決め打ちにする意味が無い
同じじゃないだろう。
文字列いじる場合はマルチバイト特有の処理入れないとだめなこともあるだろうし。
とは言っても、Unicode もサロゲートペアの処理が入るけど。
mmsystem系はマルチバイトファイル名しか受け付けないってのは治癒したの?
110 :
片山博文MZ:2011/01/23(日) 15:02:55
0.0.19!
CMultiFileDialog, CImageFileDialog, CFolderDialogを追加。
ビットマップに関する関数を追加。
CDragListBoxの動作がおかしい。
::SetRect使うコードはじめて見た
便利だよ
おそい
20クロックくらいじゃねーの?
>>111 wxWidgets,fltk,fox,Win32++
どれもSetRect使ってるよ
とうか、普通に使わない?
だからvoid CRect::operator+=(const CRect*);なんてものがあるのか
>>116 意味わかんない
CRectとPODのRECTは別物じゃん
>>117 意味わかんないだろ。
何も自分で考えることなく他のライブラリにあるからとMFCのをそのままコピってくるから
こんな意味不明の用途不明なメソッドが入ってるんだよ。
>>118 ?
君の言う意味が分からないって言ってるんですけど・・・
120 :
デフォルトの名無しさん:2011/01/25(火) 16:28:04
test
ああ、1発やりてえ!
void f(const CRect&rc){
CRgn rgn;
rgn.CreateRectRgnIndirect(&rc);
頭が二十年くらい遅れてるんじゃないの
123 :
片山博文MZ:2011/01/30(日) 13:00:12
0.0.20! CPropertySheetExを追加。testにwildcard_testを追加。
samplesにPropSheetAppを追加(バグあり)。
mzcwinにビットマップの減色処理の関数などを追加。
現在確認しているバグ:
CDragListBoxの動作がおかしい。
CPropertySheetが表示されず、例外発生。
うpおつ
Boostライセンスじゃだめなんですか?
だめ
例外を使わない宗教上の理由でもあるのこの人
またコンパイルエラー出てる
C++でクソ重い例外投げてるやついるの
MFCが世に出た頃ならまだしも、今の例外は軽いよ
このライブラリみたいに戻り値チェックを強要するのと比べると例外使って書いたほうが
読みやすいし俄然早い
C++はRAIIからみの構造上どうがんばっても例外重いんじゃ
Javaとかと勘違いしてない?
"例外"なんだから多少重くてもいいんじゃない?
RAII?RTTIのこと?
例外と実行時型情報は全く別のものだよ
コンパイラオプションだって別(VC++なら/GXと/GR)
RAIIがどうなったらRTTIになるんだ
RAIIでなんで例外が重くなるのよ
だいたいC++は非RAIIに書ける言語だし
それにこのライブラリRAIIのかけらもないし
例外投げられたらスタック巻き戻してデストラクタ呼ぶ処理走るでしょ
例外がcatchされるまで呼び出し元駆け上がってずっと行われるんだよ
Java等の例外は違うの?
例外が投げられた次の処理は、アプリごと死ぬとか、ユーザーに再入力求めるとか、
5000ms待ってリダイレクトするとかなんだから、例外を使わない時より50ms遅くなろうが誰も気にしない。
そんなものよりエラーの発生していない、例外が投げられないときの速度の方が重要だろう。
そもそも
誰も使っちゃいないんだから
気にする必要なし
んなこといってもこのライブラリを参考にする奴が出てきたら困る
バイナリ境界に配慮した例外の使いかたが
>>1に出来るかは厳しいところ
>>136 デストラクタ呼ぶ必要ないからロングジャンプするだけだからローコスト
だからいたるところで例外が使われてる
JavaはGCまかせだからね
まあC++でエラーをreturn等で返しても
デストラクタを呼ぶ必要があるのは変わらないと思うけど
あーなるほど
デストラクタを呼ぶのはGCだから例外時には呼ばれないのね
正直コンストラクタ内で投げる以外はC++で例外は自重するなあ
あとはテキストフォーマットのパーサ書いてると
やたらと使いたい衝動に駆られるくらいか
145 :
片山博文MZ:2011/01/31(月) 10:34:42
Access Violationの構造化例外のようです。
samplesのPropSheetAppをデバッグしたら分かるように、
CPropertyPageからCDialog::_DialogProcが呼ばれるが、
なぜかWM_INITDIALOGでlParamの値が不正。原因不明。
♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
♥ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☟ ☟ ☜ ♥
♥ ☞ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☜ ☜ ♥
♥ ☞ ☞ ☞ ☞ ☟ ☟ ☟ ☜ ☜ ☜ ♥
♥ ☞ ☞ ☞ (^ω^; ) ☜ ☜ ☜ ☜ ♥なんだか無償にコピペしたくなる
♥ ☞ ☞ ☞ ☞ ☝ ☜ ☜ ☜ ☜ ☜ ♥
♥ ☞ ☞ ☞ ☝ ☝ ☝ ☜ ☜ ☜ ☜ ♥なのに初心者にはコピペできない
♥ ☞ ☞ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ☜ ♥
♥ ☞ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ♥
♥ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ♥
♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
♥ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☟ ☟ ☜ ♥
♥ ☞ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☜ ☜ ♥
♥ ☞ ☞ ☞ ☞ ☟ ☟ ☟ ☜ ☜ ☜ ♥
♥ ☞ ☞ ☞ (^ω^; ) ☜ ☜ ☜ ☜ ♥なんだか無償にコピペしたくなる
♥ ☞ ☞ ☞ ☞ ☝ ☜ ☜ ☜ ☜ ☜ ♥
♥ ☞ ☞ ☞ ☝ ☝ ☝ ☜ ☜ ☜ ☜ ♥なのに初心者にはコピペできない
♥ ☞ ☞ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ☜ ♥
♥ ☞ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ♥
♥ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ♥
♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
>>141 たしかにJavaは気安く例外を使う文化があるのはその通りだと思う。
ただ、例外のコストではデストラクタとfinallyで違いが生まれるわけがない。
149 :
片山博文MZ:2011/02/06(日) 15:04:19
0.0.21!
CMonthCalCtrl、CDateTimePickCtrl、CIPAddressCtrl、
CPagerCtrlを追加。EDITコントロールでCtrl+Aが
使えるようになった。mzcwinにMzcFilter3x3Bitmapと
いう関数を追加。CDragListBoxのバグが取れた!
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 :
片山博文MZ:2011/02/13(日) 13:01:04
0.0.22!
CMinMaxInfo,CWaitCursor,CAccelを追加。CWinAppを強化。
MzcCreateRgnFromBitmap関数を追加。
>>122,
>>150 修正。
152 :
片山博文MZ:2011/02/13(日) 13:24:03
文字列クラスの実装を悩んでいる。
std::stringはMBCSに未対応なのでダメという結論。
shared_ptrを使ってMFCのCStringのようなものを考えている。
何か実装のいいアイデアがあったら教えてほしい。
特にクロスプラットフォーム考えないなら、wchar_tは2byte文字として見られるし
std::wstringでいいんじゃないの
>std::stringはMBCSに未対応
どういう意味?
charの配列がstd::stringと定義されてるから。
それの何が問題?
ソ 表
SJIS以外のMBCSを突っ込めば問題起きないだろ
>>159 Win9xもターゲットにしてるんだから無理だろ
そもそもソースがShiftJISだろうしリテラル使うのすらめんどくならないか
変なコードページ強制するとかライブラリでやることじゃないな
そういう意味で
>>1はちゃんとコードページ吸収するようなの作ってくると期待
だよな?
>>1
161 :
デフォルトの名無しさん:2011/02/19(土) 02:25:32
>>158 それって問題になるのリテラル使うとき以外にある?
SJISを使うことに対する問題を切り分けなければいくつかありそうだけど…
>>161 ファイル名からパス名抜き出すときに正しくパス名取れないとかあったなあ
バックスラッシュを文字列末尾から検索すると漢字2バイト目の\が捕まる
a:\src\ソース.c ⇒ a:\src\・
まさにこれです
トン
>>162 「\」の検索って、SJISの制限って考えてたから、気になったことないな…
あと、パスの変換は、ロングファイル名が出来てから、
(ショートファイル名の命名ルールが適当であることを知ってから)
APIを使うようにしてるから、問題になったことないし…
気になるもん?
165 :
片山博文MZ:2011/02/20(日) 11:03:31.40
0.0.23!
文字列をCStringA/Wに。CFindFile,CResizeeDialog,MzcInputBox追加。
samplesにResizeeDialogAppを追加。
>>154 なるべく64bitに対応したコードを書いています。
>>155 MBCSはマルチバイト文字列の略でShift_JIS、UTF-8などの文字列。
文字列「表」はSJISで"\x95\x5C"なので'\\'=='\x5C'と衝突。
またVC10でコンパイル出来なくなった
167 :
片山博文MZ:2011/02/20(日) 11:31:12.49
MBCS対応はVCLがしっかりしてるからそこからパクればいい
>>165 それはMBCSだから駄目なのではなくSJISだから駄目なんでしょ?
windowsのパスはAPI使うのが一番だよ
そのAPIがまたgdgdだからアレなんだろう
セパレータに / が使えたり使えなかったりとか
MAX_PATHまでしか扱えなかったりとか
>>170 2000やXPでできることを9xで出来るようにするとか(あるいはその逆)、
仕様を統一しようと思うと思うように動かないけど、
各処理系に合わせ変換しますってことにすればも特に問題にならないと思うけど?
Microsoft は何故パス区切りを \5c にしたのでしょうか?
なんでスラッシュにしなかったんだろう
コマンドとスイッチ(オプション)の間にはスペースが必要ない
例) dir/a
この場合、dirはディレクトリ名なのか、コマンドなのか解析が出来ない
そのため、パスの区切りをバックスラッシュにしたと思われる
仕様書いたやつバカす
引数格納領域メモリはどうせMD-DOSと同じで固定サイズだろうから
節約にもならないだろうし意味不
>>176 そのころは、まだパスの概念がなかったらしい。
悪いのは、その仕様をパクってMS-DOSを作ったMS
その後、パスの概念を追加するときに
>>175の問題が発覚
>>176 >引数格納領域メモリはどうせMD-DOSと同じで固定サイズだろうから
>節約にもならないだろうし意味不
MD-DOS とか言う謎の OS のほうが意味不
マクドネル・ダグラス
マクドナルド
…時代的にこんなもんか?
ミラクルドリル
♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
♥ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☟ ☟ ☜ ♥
♥ ☞ ☞ ☞ ☟ ☟ ☟ ☟ ☟ ☜ ☜ ♥
♥ ☞ ☞ ☞ ☞ ☟ ☟ ☟ ☜ ☜ ☜ ♥
♥ ☞ ☞ ☞ (^ω^; ) ☜ ☜ ☜ ☜ ♥なんだか無償にコピペしたくなる
♥ ☞ ☞ ☞ ☞ ☝ ☜ ☜ ☜ ☜ ☜ ♥
♥ ☞ ☞ ☞ ☝ ☝ ☝ ☜ ☜ ☜ ☜ ♥なのに初心者にはコピペできない
♥ ☞ ☞ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ☜ ♥
♥ ☞ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ☜ ♥
♥ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☝ ☜ ♥
♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥ ♥
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 :
片山博文MZ:2011/02/26(土) 11:04:04.22
0.0.24! CKernelHandle, CProcessMaker, CSecurityAttributes,
MzcGetFileTitle, MzcCreateMapped32BppDIB, MzcSimplifyPolyline,
MzcLineSegmentPointDistance, MzcDumpBinary, MzcDumpMemoryStatus,
CStringList, CStringVector, MzcJoin, MzcSplit, MzcPointDistance,
CSecurityDescriptor, MzcCreateThread, MzcEndThread,
MzcDumpVirtualWalkを追加。CStreamをCBinaryに改称。
うpおつおつ
185 :
片山博文MZ:2011/02/26(土) 15:52:36.33
MinGWはMBCSサポートが不十分なため、MinGW版はMBCS未サポートです。
MBCSでUTF-8のサポートは不要みたいですね。すみません。
他に足りない機能などがあれば教えてください。
Doc-Viewアーキテクチャって必要だと思いますか?
じゃあそろそろhWndとかを完全に隠蔽してjavaのSWTみたいに
Windows以外の環境へも移植できるような形にして欲しい
そうだね
VC10で使えない
x64で使えない
のを直しておくれ
189 :
片山博文MZ:2011/03/05(土) 14:28:49.40
0.0.25! MzcCreate8BppGrayscaleDIB, MzcCreate8BppDIBFromAlpha,
MzcSet8BppBitsTo32BppAlpha, CLabelMap, CFileVersionInfo,
MzcFlipBitmapH/V, CHyperlinkCtrl追加。CPropertySheetのバグ修正。
VC++2008サポート。
>>186 難しい。
>>188 VC10でビルドできなかったのは
修正しました。64ビット環境が無いため、x64対応は無理(お金の問題)。
相変わらずVC10でビルドできないけど
微妙にMzcGetBrightnessの重み修正してるのが細かいなw
>>189 無料で使えるWindows SDKに64ビットコンパイラが含まれてる
数年前ならともかく今時新規開発で64ビット対応しないとか
既存ライブラリ超える気があるの?
じゃあお前が金を出して検証できる環境を用意してあげれば?
環境ってPCも含めてだと思う
Win32で使えたらだいたいWin64でも使えるっしょいや知らんけど
でもコンパイルしないことには始まんないと思うよ
>>196 32bit版でも64bitのビルドは出来るんでないか?
いや、EE使ってないから本当のとこは知らんけどね
>>198 32ビットOSでも64ビット用にビルドはできる。
しかし、実行は当然出来ない。
OSは7の評価版使えば無料。
まだダウンロードできるっぽい。
32bitなCPUてなかなかに古くね?
>>202 atomとかなら、そんなに古いとも言えないかもよ?
204 :
片山博文MZ:2011/03/12(土) 10:16:17.57
地震大丈夫か?
0.0.26! samplesにDialogApp2、ResizeeDialogApp2を追加。
CIconMenu, CWebBrowser, {Ansi,Wide,Text}To{Ansi,Wide,Text},
MzcWideToUTF8, MzcUTF8ToWide, CCommandUIを追加。
様々なバグ修正。WM_CTLCOLOR*のサポート。
放射線やばい
更新おつ
夕方電気が止まるらしい
どうでもいいけど停電の範囲をぼやかすのは止めて欲しい
っていうか東電って杜撰すぎね?
208 :
片山博文MZ:2011/03/20(日) 10:42:11.26
0.0.27! CResizeePropPage/CResizeePropSheet,
MzcSetFileTitleを追加。DLLのサポートを中断。
samplesにResizeePropSheetApp、PropSheetExApp(バグあり)を追加。
いくつかのバグ修正。mzctempl.hとmzccoll.hを追加(作りかけ)。
209 :
片山博文MZ:2011/03/21(月) 14:02:21.97
210 :
デフォルトの名無しさん:2011/03/21(月) 18:57:03.15
Qtよりも使い易いの?
>>209 どんどん使ってけば使い勝手も良くなってくだろうし良いね
でもページ移動時のモザイクはどうにかなりませんか!
212 :
片山博文MZ:2011/03/27(日) 11:58:22.38
213 :
片山博文MZ:2011/04/02(土) 16:50:02.32
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
だからアンダースコアで始まる名前はry
>>(id PNG "file.png")
Lispかと思った
CList::Sortはファンクタ渡せないのか
というかそんなのはSTL使えばすむことなんだから
GUIとかWindows固有の実装を先にやってくれ
つかデータ構造はSTLとBoostで大抵のことは何とかなるからインタフェースだけでいいんじゃないか?
そもそもCList::Sortバグってるし
CVector::Sortにいたってはqsort使うというバカっぷり
ああ、clispと掛けたのか
どこに何があるのかわからない致命的な欠陥があるな
221 :
片山博文MZ:2011/04/03(日) 11:19:38.06
>>217 STLだとVC++でのDLL化の際の障害になるようです。
>>218 どんなバグですか? qsortだとダメな理由は?
>>220 grep使ってやってください。
VC6なんか捨てろよ
ふりゅいこんぴらーサポートする限り
いいライブラリはできない悪寒。
x64で使えない(?)時点でなあ・・・
64bit(笑)
CListが空以外のときNULL参照するだろ
動作確認してないのか?
ポカーン
俺も GUI 特化でいいと思うんだよねぇ。
一人でやるなら絞った方がいい。
grepしようとしても何があるか分からんから無理だろ
ドキュメント位作れよ
231 :
片山博文MZ:2011/04/10(日) 13:17:29.94
0.0.30! _MZC* → MZC*。CString{Vector,List}::FindNoCaseを追加。
CDockSite, CToolBar, CStatusBar, CReBar, CDialogBar,
MzcGetRelativePath, MzcGetCurrentMessageを追加。TIFF画像サポート。
CMRUListをCMRUVectorに改名。CResizeePropSheet削除。CList::Sortの修正。
232 :
片山博文MZ:2011/04/10(日) 13:45:31.27
でかいライブラリ作るなら先に仕様決めとかないと後で困るぜ?
int foo(const char *a){
return strcmp(a, MzcWideToAnsi(L"foo"));
}
int main(){
foo(MzcWideToAnsi(L"TEXT"));
}
こういう罠を作るのはやめてね
意味もなくMBCSに変換させんなヴォケがってことだと推測
int foo(LPCTSTR a)
{
return _tcscmp(a, _T("foo"));
}
MzcWideToAnsiがリエントラントではないので
strcmpの結果が0になるか範囲外アクセスを起こす(
>>234では0だろうけど)
この関数はライブラリ内部でも使われているため
予想外なところではまる可能性があるというおまけつき
こいつか-
struct MZC_THREAD_STATUS
{
CPtrVector msgstack;
CStringA strAnsi;
CStringW strWide;
};
239 :
片山博文MZ:2011/04/11(月) 08:49:35.60
>>234-238 Win32++を参考にしたのがいけなかったか。。。
単にCStringA/Wを返す、でOK?
>>239 それでおk
ATLはそれ用のクラスを用意してるみたいだが
CString使うならそんな関数いらないだろ
242 :
片山博文MZ:2011/04/17(日) 12:04:09.06
0.0.31! 自己代入のバグを修正。
Mzc{Ansi,Wide,Text}To{Ansi,Wide,Text}を削除。
samplesにFrameAppを追加。XPスタイルのとき、ツールバーの
アイコンの色がおかしいというバグあり。
IE3チェックとかどんだけ後ろ向きなんだよwww
久しぶりに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
エラー出るよ
さすがに類似品と差別化するために古い環境をサポートするんだとしても
IE6とVC6くらいからでいいんじゃないか
古い環境をサポートする意味がわからんわ。
CVector::Sortはあいかわらずqsort使ってるし
なんだよMZC_SWAPって
C++やる気あんのか
なんでポインタにregisterなんかつけてんだ?
C++0xじゃdeprecated落ちだしな
registerはコンパイラ最適化の妨げになるだけだし
今はつけないほうがいい てか無視するだろコンパイラも
もしかして:構造体の代入ができることを知らない
構造体が代入出来たらCopyRectの価値なくなるから
代入なんかさせないよ
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 :
片山博文MZ:2011/04/21(木) 12:06:02.34
>>247 glibcから借りてきたコードなので。次でMzcSwap<T_DATA>で置き換える。
>>248-249 次で削るが、古いコンパイラで動作が遅くなってもしらん。
258 :
片山博文MZ:2011/04/21(木) 12:20:23.12
グラフィック関連関数の高速のため、アセンブリコードを
追加してもいいですか? NASM使えば可能かと思いますが。
高速化とかは後回しでおk
glibcってLGPLじゃねーか
FreeBSDライセンスを名乗りながらなんでそこからパクるんだよ
ライセンス軽視するようなまねするな
261 :
片山博文MZ:2011/04/21(木) 15:05:19.85
>>260 すみません。次リリースはLGPLにします。
LGPLなんかにしたら、MFC超えから一気に遠のくというか脱落物だぞ
流用したもの全部消せ
registerってVC6ですら最適化で無視するのに
古いコンパイラってどんだけのブツなんだ?
VC6じゃビルド出来ないし
古臭いコード書くことへの言い訳じゃないの
265 :
片山博文MZ:2011/04/22(金) 09:42:33.01
STLportのsortと_S_sortを使ってみようと思う。解析中。。。
改悪するくらいならそのまま使えばいいのに
バブルソートやクイックソートくらい一からスクラッチして書けよとは思う。
スクラッチ?
>>268 この場合、「スクラッチして書けよ」≒「0から書けよ」程度の意味。
>>257 registerをつけないと遅くなるコンパイラを知っているなら教えてくれ。
少なくとも私は、16ビット時代のMS-C位しか知らない。
>>256 よく判らんのだが、何故胃が痛くなるんだ?
ボゴソートつんどけばある意味で有名にはなれるな
ここにいる奴らはどんなライブラリ使ってんだ
wxWidgetsとかVCLとかFLTKとか
おれは ATL/WTL で十分だ
ふつーにATLとWTLかな
275 :
片山博文MZ:2011/04/24(日) 16:43:26.84
0.0.32! ツールバー,CFrameWnd,JPEG,CFindFile,MakeReverseの
バグ修正。MzcQSort→MzcSort。MzcSwap,CSDIFrameWndを追加。
サウンド関連の関数追加。CIconMenuにバグあり。
mzctempl.hをmzccoll.hに統合。
276 :
片山博文MZ:2011/04/24(日) 17:14:38.13
test/template_testで実験した結果、
CVector<INT>::SortとCStringVector::Sortはqsortよりも早くなった。
でもCVector<CString>::Sortは遅い。
比較が遅いんだな
このライブラリに期待してるやついるのか?
作者のロートルっぷりが面白いのでスレ見てるけど
このライブラリをダウンロードしたことは一度もない
相変わらずswapの実装がよくないな
ここのログを見る限り単なる劣化MFCっぽいしなぁ
ライブラリの規模云々の話じゃなくてMFCの悪い部分をさらに悪くしたイメージ
改悪以前にbcc5.5なんて前世紀の化石コンパイラ使ってるし
CVectorとかCStringとかCListとかのSTLもどきなんか誰が使うんだ?
この1はどれだけ言われようと自分の道を突き進んでくれそうだ
これ通るコンパイラあるの?
少なくとも現状みたいにまとまっていない状態かつライセンスがLGPLっていう使いにくさじゃ
使おうとは思えないけどもくもくと作業してるのが楽しそうだから傍観してる状態
WindowsならVC++2005以降がフリーで商用利用できるから今更VCLも付かないフリーのbcc5.5は
存在する意味あるのか微妙だな コンパイルした生成物はフリーウェアとしてすら公開できない規約だし
LGPLってオリジナルのソースがついてりゃ商用とかOKじゃないっけ?いや、よく知らないんだが。
順調に
ヘボさ、スパゲッティ具合、使いにくさ、拡張性の悪さ、見通しの立たなさ
などの面でスレタイどおり既存ライブラリを超えまくりなのでおk。
使いもせずに評価するのはおかしいだろ
ためしに使ってみた
ソース
#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 個を超えました。コンパイルは中断されます。
テストしてないってレベルじゃねえぞ
お茶噴いたじゃねぇか
なんだかんだで、とりあえず物を出す奴にはやさしいよなお前ら
>>1の実力と
>>1が掲げてる目標との乖離があまりにも酷すぎて
アホの子をからかうみたいにしかなってないのに、やさしいとかないわ、さすがに。
293 :
片山博文MZ:2011/04/30(土) 10:18:25.53
0.0.33! CIconMenu完成。アイコン付きメニューが作れます。
詳しくは、samples/FrameAppを参照。
>>289 修正。
ツールバーのツールチップが表示されるようになりました。
>>286-287 FreeBSDライセンスのままです。
> FreeBSDライセンス
初めて聞くライセンスの名前だな
296 :
片山博文MZ:2011/05/02(月) 14:18:01.23
>>295 「The FreeBSD Project」の部分を「Katayama Hirofumi MZ」に
変えただけであり、何の問題もありません。
MZ(エムゼット)は1970年代から1980年代にかけてシャープが販売していたパソコンのシリーズ名。
総産研のMZ Platformとも被ってるな
299 :
片山博文MZ:2011/05/07(土) 11:24:11.38
0.0.34! mzcscripを追加。これでJScriptスクリプトを
実行できます。test/script_testでお試しください。
サウンドのループ再生ができるようになった。
300 :
片山博文MZ:2011/05/07(土) 12:14:26.52
SMF(*.mid)をMCIやDirectMusicを使わないで再生したいのですが、
いいサンプルやライブラリはありませんか?
ソフトシンセでも実装するの?
で、GUI 関連の方は完成したの?
ウィンドウフレーム以外
DirectXで描画されるGUIがほしい
D2Dでおk
しかしウリ無し、実績無しのライブラリってむなしいな
独自のルックアンドフィールを持つ
ボタンやタブ、リストボックス、スクロールバーを
D3DなりD2Dなりでつくるべし
>>306 コントロールのhWndとか丸出しのI/Fな設計なのに考えなしに無茶言うな
もういい自分で作ります
309 :
片山博文MZ:2011/05/15(日) 14:41:07.29
310 :
片山博文MZ:2011/05/15(日) 15:28:01.57
Sleepだけよりもマルチメディアタイマーを使ったほうがいいかもね。
かもねかもねそうかもね。
311 :
デフォルトの名無しさん:2011/05/15(日) 16:03:04.35
何このスレ・・・・・・・?
/ヽ /ヽ
/ ヽ / ヽ
______ /U ヽ___/ ヽ
| ____ / U :::::::::::U:\
| | // ___ \ ::::::::::::::|
| | | | | U :::::::::::::|
| | .|U | | ::::::U::::|
| | | ├―-┤ U.....:::::::::::::::::::/
| |____ ヽ .....:::::::::::::::::::::::<
└___/ ̄ ̄ :::::::::::::::::::::::::|
|\ | :::::::::::::::::::::::|
\ \ \___ ::::::
いつになったらリリース前にビルド確認することを覚えるのかね
314 :
デフォルトの名無しさん:2011/05/17(火) 19:00:18.14
315 :
片山博文MZ:2011/05/18(水) 08:59:51.84
MCIもMediaPlayerも使わずにMP3を再生する方法はないものか
ISO 11172-3を読んで書くとか
フラウンホーファーに金払うとか
317 :
片山博文MZ:2011/05/18(水) 12:31:02.43
特許踏まないように気をつけてがんばれ
319 :
片山博文MZ:2011/05/18(水) 14:12:12.91
midiOutSetVolumeが遅れるのはなぜ?
なんでWindows上で使うことしか考慮してないソースなのにWindows95ですら使用可能な
MCIもMediaPlayerも使いたくないと言い出すのか理解できない
ACMだと結局windows依存駄科
LIBSEHのコード拾ってきてSEHに対応しましたはいいけどさ
ユーザはこれがMITライセンスだってどうやって知ればいいの?
MZC使うなら全部のファイル読んでライセンス確認しろって?ばかばかしいな
Copyright (c) 2008 Tom Bramer < tjb at postpro dot net >
の部分も削除してるしさ
あと、kohn_gifに入ってるやつはLGPLだよな
* License: Copyright 2004-2009 under LGPL
なんでここ削除してんだ
他人のライセンス表記を勝手にいじっちゃいかんなー。
いかんよなあ
スレタイ通りのことが達せられたときに裁判沙汰になるぜ
やっちゃいかんことのオンパレードだなw
これはただちに修正したほうがいいな。
俺がライセンスだ!
どっかの映画で聞いたような台詞だな
仲村トオルの。
328 :
片山博文MZ:2011/05/22(日) 10:48:28.15
0.0.36! mzcにCSound,CMidi,CMidiPlayer,MzcGetMusicDeviceCount,
MzcStopAllSoundsを追加。CMidiPlayerでfade-outをサポート。
>>320 MCIだけだと機能少ないっしょ。
>>322 確かにMITランセンスだと、License.txtなどに記載する必要が
ありますね。kohn_gifについてはHP記載どおり許可をもらいました。
次期リリースで修正します。
329 :
片山博文MZ:2011/05/22(日) 11:19:42.16
ACMでMP3をWAVEにするコードがどっかに転がっていないかなぁ。
キンチョール持ちながら言うことでもないけど。
330 :
片山博文MZ:2011/05/23(月) 08:49:41.98
ライセンス関係を修正しました。
Copyright 2004-2009 Michael A. Kohn. All rights reserved.
が入ったFreeBSD License文書がないとだめじゃないの
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
お茶噴いた
if you give me proper credit, i don't mind
を理解することは永遠に無いんだろうなぁ
>>329 MP3の関連特許が全て特許切れになるまで待ってれば?
DirectShowでも使えば
for freebsd?
本当ネタでやってるのかマジなのかさっぱりわからない
本気で犯罪まっしぐらなんだろうね
この調子じゃglibcのコードも残ってるだろうし
〜を参考にしたとかいいながらコピペしたところ多いんだろうな
340 :
片山博文MZ:2011/05/29(日) 11:22:38.38
0.0.37! CSoundでMP3の再生をサポート。CBinaryをCByteVectorに統合。
MzcSetSoundVolume,CBuffer,C*Vector::SetCapacity,CMidiPlayer::WaitForStop,
MzcMultiplyAlphaDIBを追加。追加するデータサイズの目安が分かって
いる場合にC*Vector::SetCapacityを使えば、データの追加を高速化できる。
341 :
片山博文MZ:2011/05/29(日) 11:27:29.64
うぽつ
毎週updateとかモチベーションどうやって保ってるのか知りたい
俺なら1ヶ月で別のことしたくなって投げるから無理
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>の使い分けもよくわからない
for freebsd?
346 :
片山博文MZ:2011/05/30(月) 08:54:54.35
>>343 CVectorとCStringVectorのSetCapacityにバグがあるようだ。
犯罪者for freebsd?
片山は一度全てのプログラムのライセンスを洗いなおしたほうがいい
350 :
デフォルトの名無しさん:2011/05/31(火) 11:28:12.48
>>342 千里の道も一歩から。小さい目標の積み重ね。
さすがにガチ犯罪はちょっとなあ・・・
特許違反までしようとしてるしなあ
今「うぜー荒らしがなんか騒いでる」と思ってるに一票
一票 for freebsd?
今始めてきたけど、凄いなこのスレ。
なんか、MFCの悪夢をまんま再現しているところが凄すぎる。
とりあえず以前Shift_JIS云々で議論してたが、文字列なんてUTF-8一択だろjk
APIに渡す直前でUTF-16に変換すればいい。Cygwin見習え。
このライブラリでUTF-8なんか使っても無駄に変換コスト払うだけだろ
Win専用なんだから32は考慮しないでいいし、最初から16で格納しとけばそのまま渡せる
357 :
片山博文MZ:2011/06/05(日) 11:20:30.72
0.0.38! TYPENAME,MzcDoEvents,MzcGet{ScreenRect,WorkArea,Font*}
を追加。C{SDI,MDI}FrameWnd,CMDIChildWndを強化。
CMRUVector→CRecentVector。乱数に関する関数を追加。
>>345 LGPL文書入れただけで解決できると思ってるなら大間違い
早くなおせよ
もう誰の忠告も聞こえてないと思うよ。確信犯(思想犯・妄信犯)というやつだろう。
ヘッダで using namespace std; するのいいかげんやめたら
361 :
片山博文MZ:2011/06/06(月) 10:21:11.85
>>358 何を直せばいいですか? ライセンス関係詳しくないもので。。。
みんなけっこう優しいんだな。
タダでチェックして、問題点指摘して…
363 :
片山博文MZ:2011/06/06(月) 12:42:19.64
>>360 古いコンパイラのサポートが気になりますが、
using namespace std;を使わない方法を試してみます。
一度ターゲットレンジを明文化したほうがよくない?
不思議な行動が多くてドキドキする。この円たー低名ーめ!!
もう1,2年もすれば死亡するような仕様へ突っ走るんじゃなくて
vista以降とかで実装されたものを全力で使うようなライブラリなら面白いのに
Windows95もサポートしてるライブラリって案外あるしな
Win32直接使うのが一番便利だと思うけど、これアンチ?
別にアンチじゃないだろ。
マゾかバカなだけで。
ライセンス理解しないで他人のライブラリ使うとか笑える
370 :
片山博文MZ:2011/06/07(火) 12:15:03.22
0.0.39! C{S,M}DIFrameWnd,CMDIChildWndを修正。CBufferを強化。
CSDIFrameWnd,CMDIChildWndに{Get,Generate}DisplayNameを追加。
CString::SetCapacityを追加。ヘッダからusing namespace std;を削除。
MDI って今後需要あんの?wwww
SDIが自然消滅したからな。
そもそもSW計画とか、名前からして胡散臭かった。
SF的には、なかなかいい計画だったともうが。
タブとかはMDIにならないのかな?
よくわかんないけど。
そもそも、SDIやらMDIやらの区分って、OSのAPIのレイヤーで提供するようなもんなのかね。
ただのウインドウスタイルだろ。なに言ってるんだ?
>>374 >>373 そういう風に作ればいい。
漏れはMDIとタブは切替られるようにしてる(by MFC)。
ああごめん、そういう意味じゃなくて
タブはMDI の範囲に入らないのかなと思って。
>>376 そういう意味か。日本語は難しいw
現状では入ってないとみるべき。
プロパティシートとウィザードのように、表示スタイルの選択で切り替わるわけではないし。
MDI=窓on窓でFA?
窓in窓かも。
MDIが絶望的に使いづらいという事実は変わらない。
cchSrc で渡される値が pszSrc より大きい場合は
範囲外へのアクセスになるな。
まぁ、NULL が含まれてる文字列で終端はNULL二つってのが
Windows API にもあるけど
そういうのを決めてチェックしないと範囲外のアクセスになっちゃうんじゃね。
まぁそういうのはその関数を使用するプログラマの責任と言えばまぁそうかもしれんが。
このUNITTESTとやらが正常に動く環境使ってるやつほとんどいないだろ
あー確かにチェックが甘いな、色々と。
日本語のマルチバイトだからバイト単位で見ていくと
NULL がいっぱい出てくる(のかな?)から
チェックは難しいか。
文字コードはいまいちよくわかってない。
インテルのツールでチェックかけたら
psz1 = (LPSTR)malloc(sizeof(sz1));
psz2 = (LPSTR)malloc(sizeof(sz2));
がNULLの逆参照ってのだけでてきた。
malloc でメモリ確保ができるかどうかわからないってことだろう。
MultiByteToWideChar WideCharToMultiByte
あぁ、そうか。
Unicode で ASCII 部分をバイト谷で見るとでてくるんだったか
392 :
デフォルトの名無しさん:2011/06/09(木) 15:44:29.05
なんつうか、猛烈に勢いだして作りたい時期で、ライセンスとかめんどくさいことより
自分のをどんどん作りたいんだろうな・・
どうせ、当分はこのスレの人たちしかしらないから、ライセンスは本人が目途が立ってからでいいんじゃね?
大目にみてやれば。
>猛烈に勢いだして作りたい
もう少し、この情熱をこれから役に立ちそうなモノに向ければいいのに。
なんか家電ベンチャー企業のエンジニアが、猛烈な勢いで新型の二槽式洗濯機を
開発しているみたいな、そんな滑稽さを
>>1には感じる。
ライブラリは使わないけど、参考にはする。
つまりWEBサイトのTips程度で十分ってこった。
396 :
片山博文MZ:2011/06/12(日) 14:45:48.74
0.0.40! CWinApp::DeleteSettingを追加。MzcGetBlackPenなどを追加。
samplesにCSmartSDIAppを追加(バグ多し)。MZからの挑戦状!
「諸君はCSmartSDIAppのすべてのバグを1週間以内に修正できるか」
せめて企画・設計から参加させて言え
まずバグを明確にするため詳細仕様を提出してください
make ファイルしかない時点でやる気なくした
結局ライセンス違反を直す気がないのか
誰も完成品を期待していない件w
402 :
片山博文MZ:2011/06/14(火) 13:25:01.34
>>399 プロジェクトファイルを追加しました。賞金100円は誰の手に!
(賞金が欲しい人はトリップを付けて回答してください)
403 :
世紀末覇者 ◆TJ9qoWuqvA :2011/06/14(火) 13:48:17.60
賞金くれるのか! ヤッホー!
俺もSmartSDIAppのバグを探してみるぜ! よろしくっ
404 :
ニートプログラマー ◆GmgU93SCyE :2011/06/14(火) 13:50:08.62
世紀末覇者さんには負けませんよ。100円のためなら死ねる。
( ゚д゚)
LGPL3
4.a)『ライブラリ』が『結合された作品』中で利用されており、また『ライブラリ』とその利用は本許諾書によって保護されるということを、『結合された作品』のコピーそれぞれにおいて目立つように告知する。
4.c)実行中に『コピーライト』告知を表示する『結合された作品』の場合、そういった告知文中に 『ライブラリ』の著作権告知と、ユーザに対してGNU GPLと本ライセンス文書のコピーがどこにあるかを示す参照先情報を含める。
libjpegのライセンスのほうも守られてないな
ライセンス厨はほんとにうざいな
こんなとこでgdgd言ってないで直接ライセンス元に直訴してこよw
なんで片山君に常識を躾てるだけなのに警察呼ばなきゃならないのw
反省してま〜す
警察とか言ってる時点で片山レベル
411 :
片山博文MZ:2011/06/16(木) 11:13:32.45
turnpixとwavepixのライセンスを少し直してみたよ
412 :
片山博文MZ:2011/06/16(木) 11:23:13.99
賞金100円が欲しい人は、早くバグと修正方法を報告してください。
バグの報告につき1pt、修正方法につき2ptをあげます。
ポイントが一番高い人が賞金をGETできます。
どうせこのスレの人たちしか使わないのに、ライセンスとか・・
個人的趣味と似たようなもんだろ?
個人ページではなく2ちゃんねるなので、ライセンスも無視できないでしょう
このスレの人も一人を除いて使わないだろ。
VCeeでMFCが欲しいならWDKので足りるしなぁ
そもそもMFCがいらんけど
これ使ってる奴なんているの?
WTLでいいしな
ATLがどうのこうの言ってる奴もいたけど大した問題じゃないし
糞
>>406これだけはっきり書かれても満足に修正できないんだから
ライセンスなんて言うだけ無駄だろ
421 :
デフォルトの名無しさん:2011/06/17(金) 12:24:17.01
MFCの劣化コピー自体いらないというプロジェクトのバグ
平気でライセンス違反する作者の頭の作りのバグ
目立つバグはこれくらいか
422 :
片山博文MZ:2011/06/17(金) 13:06:56.28
ここまで自演
バグの報告:
作者が犯罪を犯すバグ
修正方法:
通報すると脅す
これで3ポイントだな
現在のトップは俺!
424 :
世紀末覇者 ◆TJ9qoWuqvA :2011/06/18(土) 12:29:26.29
バグ:ウィンドウを閉じてもアプリが終了しない
修正方法:次のようにCWnd::DestroyWindowを修正する
ASSERT(m_hWnd != NULL);
ASSERT(::IsWindow(m_hWnd));
return ::DestroyWindow(m_hWnd);
こんな超個人的な趣味程度のものに、ライセンス云々とかいってるやつは、
よっぽど頭の固い嫌われ者だろう
そういうやつに限って、リアル社会では変態でパンチラ覗くのが趣味だとか
章もないやつなんだよな。
じゃあ俺もGPLv3のライブラリ組み込んだクローズドソースなフリーソフト公開しちゃおう
428 :
片山博文MZ:2011/06/18(土) 13:28:51.00
SmartSDIAppのバグなおせっつってんのにライブラリ側いじったらだめだろ
でたでた。あいつは良くって俺はダメかよぉぉぉぉぉぉぉぉぉぉぉぉーー!?
それ単体で使うアプリケーション自体はライセンス違反してても作者以外困らないけど
ライブラリはそれを使用する人に影響与えるから
ライセンスは守っておかないとだめでしょ。
ASSERTしちゃって正解なんだ・・・
ただ単純に片山MZの勉強用のライブラリだろwww
だれも、使うわけないじゃんwwwwww
ちょっとだけ知識がつき始めたやつが自分のライブラリを作ってみたいっていうのは
よくあるパターン。そのレベルなのに、ライセンスとかw
ライセンス厨あほすぎ
ライブラリ作るのって楽しいからな
>>1が犯罪者に育つのを楽しむ、犯罪者作成スレなんだな、ここは。
Unicodeビルドできないバグ
GetInnerWnd()->GetWindowTextLengthA()
_tfopen(_T("a.txt"), "w")
を
GetInnerWnd()->GetWindowTextLength()
_tfopen(_T("a.txt"), _T("w"));
にそれぞれ置換
100円くれ
437 :
片山博文MZ:2011/06/19(日) 12:10:59.13
>>436 正解。3pt獲得。この辺で閉めさせてもらいます。0.0.41!
優勝は世紀末覇者さんと
>>436さんです。世紀末覇者さんと
>>436さん、
メールアドレスを教えてください。
438 :
世紀末覇者 ◆TJ9qoWuqvA :2011/06/19(日) 12:12:07.06
439 :
片山博文MZ:2011/06/19(日) 13:23:31.40
世紀末覇者さんと
>>436さんには、賞金100円が送られます。
さぁ〜て、来週のMZCは……「CIconMenuの奇妙な実装」と
「ウィンドウリストが表示されない」の二本立てです。
賞金金額200円に増額で、サービス、サービスぅ!
>>436 はバグだったのか。
コンパイルエラーでビルドできなかったけど、
A版直指定だし何考えてんのかわからんかったから
使うのあきらめたよ。
443 :
片山博文MZ:2011/06/20(月) 11:33:36.60
他人に住所氏名を訊くならまず自分からが普通じゃね
というか住所を知ってどうするの
現金をそのまま送ったら郵便法第17条違反で最悪の場合受取人が呼び出し食らったりして迷惑
だからといって現金書留だと100円より各種手数料のほうが大幅に高くなるし
というようなことをメールした
WMとかじゃなく現金渡そうとしてたん?www
>>444 これで片山がめちゃくちゃかわいい17歳の女の子だったらどうするよ
虹美少女ならともかく惨事でこんな性格となるとブチ殺したくなるだろjk
Amazon ギフト券 100円分とかでいいんじゃね。
100円分はクレジットカード使わないと買えないけど。
俺はかわいい女の子なら性格ひどくても許すな
年とって劣化したら些細なことも許さないけど
450 :
片山博文MZ:2011/06/21(火) 15:33:47.55
俺は男だ! 0.0.42! CIconMenuと
>>436の修正。
451 :
デフォルトの名無しさん:2011/06/22(水) 08:38:47.86
0.0.43! これでバグはなくなったかな。
SmartSDIApp以外のバグも受付中。賞金200円。
ネットバンクやら銀行口座にふりこめばいいだろ・・すこしは考えろよ。。
2〜3桁とは言わんから、せめて1桁増やせよ。
今度はスレ住人まで犯罪者にしようとしてたのか
>>1はもう首を括って詫びたほうがいいぞ
455 :
片山博文MZ:2011/06/23(木) 11:40:26.64
0.0.44! SmartSDIAppの「重ねて表示」「上下左右に並べて表示」が
できるようになった。CModuleStatus *mzcModuleStatusで
グローバルなCCriticalSectionをまとめて管理するようになった。
なあ、mzcってプレフィックスはafxみたいなものと思ってりゃいいか?
>>455 もりたぽで賞金払ってくれるならバグ探し挑戦する
モリタポとかいらねー
459 :
片山博文MZ:2011/06/24(金) 09:22:04.23
460 :
デフォルトの名無しさん:2011/06/24(金) 09:46:10.99
片山死ね
461 :
片山博文MZ:2011/06/24(金) 10:23:38.26
いちいち反応しなくてもいいから
ほんとに200円くれんの?
バグ:
ASSERT(CStringA("餌").CompareNoCase("陰"));
ASSERT(!CStringA("a").CompareNoCase("A"));
修正方法:
stricmpではなく_mbsicmpを使うようにする
464 :
片山博文MZ:2011/06/26(日) 11:32:07.36
0.0.45! 定数MAX_BINARYを追加。細かいバグ修正。
バグの受け付けはここで締め切ります。
>>463 調査中。
465 :
片山博文MZ:2011/06/26(日) 11:41:25.43
>>463 確かにバグです。200円送ります。
あなたのメールアドレスを教えてください。
466 :
デフォルトの名無しさん:2011/06/26(日) 12:30:45.10
>>465 確かにバグですって見た瞬間にああそうかって分かりそうなもんだが
ASSERT(!CStringA("餌").CompareNoCase("陰"));
ASSERT(CStringA("a").CompareNoCase("A"));
じゃなかろうかDbC的に
469 :
片山博文MZ:2011/06/27(月) 10:37:06.06
470 :
片山博文MZ:2011/06/29(水) 16:24:47.46
またメールを送りました。
471 :
片山博文MZ:2011/07/02(土) 12:03:11.59
0.0.46! CGridWndを追加。samplesにGridAppを追加。
CGridWndは、静的な分割を行うウィンドウです。
要するにMFCのCSplitterWndみたいなものです。
472 :
片山博文MZ:2011/07/02(土) 12:21:30.56
ゲーム製作コンテストをやる。優勝金額900円。
CFrameWnd,CMidi,CMidiPlayer,CSoundクラスを使ってゲームを作れ。
ジャンルは不問。2KB以下。著作権の問題をクリアすること。
採用された作品はMZCに掲載する。以上。
473 :
片山博文MZ:2011/07/02(土) 12:24:32.13
コンテストの締め切りは7月16日。優勝した者のみが優勝賞金を
獲得できる。コンテストに応募する作品の著作権を放棄すること。
日本じゃ著作権の放棄できないんだよなあ
非常に残念だなあ
2KB以下??
実行ファイル2kbはむりげー。
>>著作権の問題をクリアすること
釣りか!!
gifのライブラリって「お金くれたら考えるよ。」ってかいてある?
違うのか。英語は難しい。
それはそれとして、
VC10EEでサンプルのFrameApp2010で起動して終了したら0xfeeefeeeのメモリーリークで落ちるんだけど・・・。
IDEの機能が全然聞かないから関数がどこにあるのかさっぱりわからん。
コード追えてないけど、void*にキャストしてるデータはちゃんとデストラクタよばれてるんかな??
コンテナ類は自作するにしてもテンプレート使えばコード量圧縮出来る感じだよなぁ・・・。
ちょっと俺にはレベル高いわ。全く意図が読めないもん。Orz
giveがあるから著作権表示すればって意味じゃなくて金くれって意味じゃないのか
ごめんなさい。ソースコード70KB程度でお願いします。
外部ライブラリを使っていいのかとか
その部分も70KBに含めるのかとか
いろいろ疑問点があるなあ
MZC自身も外部ライブラリ使ったりしてるし自由にやっていいのか?
485 :
片山博文MZ:2011/07/05(火) 10:34:33.77
0.0.47!
>>480のバグ修正。CWinApp::InitInstanceを呼んでいない、
グローバル変数のデストラクタのタイミングの問題などの問題を解決。
samplesのFrameAppを参考にどしどしゲームを作ってみそ!
>>484 MZCがサポートする外部ライブラリ以外は使わないで
なにこの命令口調?
「作ってみそ!」なんて呼ばれる筋合いねぇよ。
しかも900円なんてシケた金で?
/ ヽ ‖::::|l ‖:||.
/ 聞 え | ||:::::::|| ||:::||
| こ ? | |{:::::‖. . .||:::||
| え | _」ゝ/'--―- 、|{::ノ!
| な 何 | / __ `'〈
| い ? ! /´ /´ ● __ ヽ
ヽ / / ゝ....ノ /´● i
` ー―< { ゝ- ′ |
厶-― r l> |
∠ヽ ゝ-― `r-ト、_,) |
レ^ヾ ヽ>' ̄ LL/ 、 /
.l ヾ:ヽ ` 、_ \\ '
OpenGLかDirectXがライブラリに入ってない
バグだ!
MZCはOpenGLもDirectXもサポートしてないから使えないのか
この条件だと派手な音のなる10パズルくらいしかつくれないんでね?
491 :
デフォルトの名無しさん:2011/07/09(土) 00:35:38.32
>>1 もれは、ゼロからUIを実装するのがいいな、ゲームのシーンみたいに
user32ベースなら意味無い(hwndノミじゃなく、コントロールまでもならもうUI開発じゃないな)
シンプルだが難しいのは、hwnd自体の実装だな
(⇒実際これは従来の言語では完璧には実装できない、
ソフト開発のパラダイムじゃ非常にややこしくて完成不能に陥る
−−かといって、数学的には、容易に記述できる問題)
コントロールなら、hwndのもとでなら時間がかかるだけのことだな。
>>491 ネタにマジレスするけど
hwndは従来の言語による実装なのにそれを再現できないとはhwndは何者
数学的にWindow管理が出来るとは最近の数学は副作用のある演算が可能になってるのか
数学的にダイアログ管理、数学的にユーザ入力を行う、
どんな数式になるのか俺には想像もつかねえ・・・
>>491はどんな考えを持っているのかもう少し詳しく聞きたい
GUIエディタとか面倒だから.NETやXAMLで記述したWPFアプリを普通に作ったら
プリプロセッサがネイティブの実装に変換してくれりゃいいや。
描画はOpenGLとDirectX9/11とGDIの選択可能でな。
495 :
491:2011/07/10(日) 06:31:17.30
>>493副作用が無いからこそ数学を用いるけど?
ウィンドウたちは物理システムなため、副作用では扱いようがない。
副作用といえば、数学的には、x(t+dt) == f{x(t)}ではなかろうか
しかも、y == f(x)の場合、副作用は余計(=微分したら積分)
−−けど従来のソフト開発では、そんな場合に副作用を使いまくってる、タヒぬw
なぜなら、クラスライブラリが従属関数に対応しないからだ(virtual y か m_pf_y が必要)
(ただし、定期的なUpdateは不厳密(全体的にそうする場合を除く))
496 :
495:2011/07/10(日) 06:56:47.60
実際、いくら全体的に定期的なUpdateにしても、やはり virtual y か m_pf_y が必要
(でないと、変数の更新を正しい順序に並べなきゃ、また余計な更新が生じる)
ただし、同じframeに重複評価が生じる、キャッシュすればOK
0.0.48! samplesにSmartMDIAppを追加(バグあり)。
winmainを若干修正。SmartMDIAppのバグを1週間以内に
修正してくれた人に900円上げます。
900円好きだな
>>495 参照透過性って知ってる?副作用がないって事は関数は戻り値を返すこと以上のことはしないってことだよ
しかも必ず同じ結果しか返さない
メモリアクセスは元の情報を破壊するから副作用だし
I/O制御も副作用
内部に状態を持つことが出来ないからWindowのあらゆるユーザ入力や通信が実装できないね
schemeですら副作用を必要悪としてset!系があるというのに
困ったね
諸経費って100円なのかな
ベーマガも掲載費1万円で税金引かれて実際に届くのは9000円だった
mzcは源泉徴収してるってのか!?
504 :
デフォルトの名無しさん:2011/07/11(月) 02:17:51.30
>>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 :
デフォルトの名無しさん:2011/07/11(月) 02:25:35.67
>>500副作用使用しないわけじゃないけど?
たださ、x(t+dt)==f(x(t))で記述する。
(それからコンパイラ作ってc++などでの実装に変換するw)
506 :
505:2011/07/11(月) 02:45:46.51
>>500あと、
>>504で言及した「vb6+ddでのUI」は、二週間で完成したが、
C++に移植後、副作用によるバグ、などなどを解決するから、
メカニズム書き直して、二ヶ月過ぎてもやはり完成不能って状況
−−けど、数学的にはシンプルなのに!(だから最初は二週間で完成)
mzcdlgs.h(108): 警告 #12265: クラス "CCommonDialog" には仮想メンバー関数がありますが、デストラクターがありません。
基本クラスで public または protected 仮想デストラクターを宣言する必要があります。
クラスで仮想メンバー関数が定義されていますが、デストラクターが定義されていません。
このエラーは、仮想メンバー関数を持つクラスでデストラクターが定義されていないことを示します。
この場合、コンパイラーは、public で非仮想の単純なデストラクターを生成します。
この関数には仮想メンバー関数が含まれているため、基本クラスとして使用されることが想定されます。
基本クラスでの非仮想デストラクターの使用は、オブジェクトが正しく破棄されない可能性があるため危険です。
mzcwin2.inl(317): エラー #12172: NULL である可能性のあるポインター "this" の逆参照が設定されています (ファイル: mzcwin2.inl、行: 381)。
C++の初心者にありがちなミスじゃないか・・・
あと、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 :
片山博文MZ:2011/07/14(木) 10:51:25.79
0.0.49! 細かいバグをいくつか修正。コメントを充実。
>>507 修正。
>>508 よく分からなかった。
>>511 ありがとうございます。後で修正します。
Known Bugsを修正してくれた人に900円あげます。
513 :
デフォルトの名無しさん:2011/07/14(木) 18:02:03.56
thisがNULLになるのなんて普通じゃん?
あと、なんでエラー制御するべき場所でassert使うんだ?
MDICreate が失敗するのは assert の前のsendmessage が失敗してるんじゃないの。
sendmessage は忘れちゃっててよくわかんないけど
そもそも、hwnd にキャストできる値が返ってくるの?
hwndはヌルポ
516 :
片山博文MZ:2011/07/15(金) 09:54:42.26
free workerを増やしたいので、そろそろ世界進出を考えています。
どうすればいいでしょうか。sourceforgeで公開するかな。
いままでも犯罪をいくつも積み重ねてきた
>>1が、
もう隠すことなくおおっぴらに犯罪をやってくことに決めたのか。
sourceforge より google code だろ
結論としては、どっちも見にくい。
醜いね
『誰が』とまでは書かないけど
世界進出とか言い出す前にサポート環境の明示とか
ドキュメント整備とかやること沢山あるだろバカ
522 :
デフォルトの名無しさん:2011/07/15(金) 19:37:50.05
>>521 片山がそんなことできるんだったら痛い子を見守るスレになんかなってないよ
523 :
片山博文MZ:2011/07/17(日) 10:15:08.01
0.0.50!! いろいろビルドできなかったバグを修正。すみませんでした。
縦型ツールバーをサポート。CGridWndを強化。testにmidi_testを追加。
CMidiPlayer::PlayAndWaitのバグ修正。
524 :
片山博文MZ:2011/07/17(日) 12:28:48.03
Dev-C++が勝手に*.exe.manifestを消しちゃうから
*_exe.manifestにリネームした。
526 :
片山博文MZ:2011/07/17(日) 17:05:11.77
世界進出俺SUGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!
バグ指摘一件で10ドルもらえると聴いてやってきました。
シエラレオネ在住ですが、1週間分の所得です。
超ラッキー。
海外の物価の安い国の奴に頼めばいいのか
ついでにライブラリ開発も丸投げすれば?
コマンドラインに /Yu って指定してる意味はなんなの
/湯 鬼怒川
釣れますか?
int型とポインタに絡んだ指摘がいっぱい出てくるんだがどうなってんの。
64bit対応を全く意識していないのか。
使い古されたコード断片を組み合わせて作られたが故の当然の結果
>>532 プリコンパイル済みヘッダー ファイルを使用します。
>>535 貼ってくれ、いやください。
え?自分で調べようとしないの、形だけでも?
自分で調べないなら、ちゃんと900円出すべきだよな
もう一行900円で誰かに完成させてもらえよ
vc10で /Wall /analyze 付けたら5桁警告出るからめどい
542 :
デフォルトの名無しさん:2011/07/22(金) 13:33:59.75
ちょっと待て、1件につき\900で5桁?
>>541 You教えてあげてン千万円貰っちゃいなYO!
ライブラリのmakeのログが32000ちょい
中見てないけど、重複を差し引いても5000はくだらないと考えられる
やったね大富豪だ
545 :
片山博文MZ:2011/07/22(金) 13:54:23.52
俺SUGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!
ifの定数警告が大量に出てた気がする
もう飽きたか
Win33++はまだか
549 :
片山博文MZ:2011/07/31(日) 16:38:42.55
0.0.51! CVector::GetCountの戻り値がBOOLになっていたのを修正。
-Wallを指定したときに出てくる警告をたくさん削る。
Subvisionの中身すくなくね?
こんなもんだっけファイル
ちゃんと23曲入ってるけどなあ
>>551 それはプロジェクトのファイルの事だろ?
俺が言いたいのは音楽ファイルのほうだってば
553 :
デフォルトの名無しさん:2011/08/07(日) 23:20:53.07
_, ._
( ゚ Д゚) ??
片山氏のレスが全然ないんだけど、ライセンス違反しまくりでつかまってたら・・
>>550 Google CodeにはちゃんとSubvisionのデータがあるはずです。
>>551 曲って何だよ。音楽?
>>552 音楽ファイルが何?
>>554 PHP/MySQLであやしいサイトを作っているところ。忙しいので後でね。
556 :
片山博文MZ:2011/08/15(月) 11:31:57.80
libmzc
mzc
mzc-library
lib-mzc
このくらいにしとかないと誰も紹介しない
MFCに倣ってMZ Classかと思ってたけど
それじゃいくらなんでも冗長だしなんか別の意味があるんだろうなあ
MuZukaC
Subvisionと書き続けてる人は同一人物?
コピペっしょ
さぶびじょんwww
subversionって何であんな不吉な名前付けたんだろうな。
subとversionのジョークなのはわかるが。
>>563 subversionじゃなくてsubvisionです!
喪前の存在がさぶびじょんwww
ちっちっちっ、我々みたいな上流階級がSubv-rs--nのような下品な言葉を
使っちゃいけないよ。秘密警察が来ちゃうような場合も考えて、
Subvisionというのが妥当。
ジャワ島の人のことも考えたら、J*va言語なんて言葉使えない。
あんなのはJ言語でいいんです。
568 :
片山博文MZ:2011/08/19(金) 16:25:47.15
コスモポリタンは言葉遣いも気を付けなければいけないのです!!!(キリ
Windowsの登場のせいで、window(s)という言葉が死につつある。
computer mouseのせいでもともとのmouseをanimal mouseと
言わなければいけない。どうすりゃいいの。
インターネットの普及で世界的に言語破壊運動が起こっている。
じゃあ、窓を正確に英語で簡潔に表現するとしたら
何でしょう? 正解者に900円あげる。
最終的にはIDEもMZCで作れるようにしたいから、
テキストエディタやDataGridも付けるか。。。
どうしよっかな。。。CProperty{Sheet,Page}Exは作り直しだな。
ところで最近俺の中で無糖紅茶ブームが来ててJavaTeaよく飲んでるんだよ
ジャワティってまだあったんだ
576 :
片山博文MZ:2011/08/25(木) 13:33:42.13
577 :
片山博文MZ:2011/08/25(木) 23:39:57.35
俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
バカス
>>578 職務質問です。どの辺がバカスなのか説明してくれませんか。
職務なら、先ずはどんな職務でどんな権限があるのかを詳らかにするべきですね。
>>580 警察署から来た者でApacheのルート権限を持っています。
バカス
>>581 警察署勤務とは意外と高スペックだな。うへへ
584 :
デフォルトの名無しさん:2011/08/28(日) 18:04:51.01
それでパクリライブラリって、本当なら通報ものだな
586 :
片山博文MZ:2011/09/09(金) 11:42:33.76
0.0.52! test/midi_testを削除。samples/SoundAppを追加。
MIDIの再生スピードを変えると音がずれるバグあり。
587 :
デフォルトの名無しさん:2011/09/09(金) 12:56:57.74
mzc-0_0_51.zip のダウンロード数 6 に泣いた
このライブラリで、こんなん作りました! という実績ないとな。
片山博文MZと彼の仲間たちによって書かれましたとかトップに書いてるけど
仲間って900円で繋がった連中のことか
590 :
片山博文MZ:2011/09/18(日) 12:49:34.43
0.0.53!
CFrameWnd::m_rcInner/GetInnerRectを追加。
MzcCreateStretchedDIB,MzcCreateBilinearStretchedDIBを追加。
MzcConvertTo24or32BppDIB,MzcMosaicDIB,CScreenCtrlを追加。
MzcConvertTo*DIBを最適化。
CIconMenuを微調整。
591 :
片山博文MZ:2011/09/24(土) 12:12:48.76
0.0.54!
CScreenCtrlを強化。これであなたもペイント系ソフトが作れるかも。
それは言い過ぎ。ペイントソフトさんを舐めすぎだ
ペイトソフトさんに謝れ
>>592 俺、ReactOSのペイントの開発にも携わったことがあるんだぜ。
そんなん知らんがな
いまどきGDIしかサポートしてないライブラリ使って
ペイント系ソフト開発しようなんてやつもいないだろ
>>593 ペイントソフトはui部分なんて割とコーディング的にどうにもなるとこっしょ
問題はレイヤのメモリ管理(全てのレイヤをメモリ上に持とうとするとアマの絵描きでも1Gとか余裕で超えて落ちる)
とかレイヤ合成の高速化とかエッジにαを持たせた不定形の範囲選択とか
いろいろめんどいから謝っといたほうがいい
大抵のペイントソフトは全てのレイヤーをメモリに持ってるって
>>597 え、タスクマネージャ監視しながらフォトショとかでレイヤー100枚作ってみろ
通常はブロック毎にメモリを割り当てて使用されるまでメモリ未確保にして控えたり
逆にブロックがクリアされたら確保したメモリをプールに戻したり
ブロックをLUT管理して最近使われていない領域は圧縮したりするもんだけど・・・
どのペイントソフトのこと言ってる?それ使い物にならないよ
アマのイラストレータでも印刷用のイラスト描く場合(幅10000 x 高さ10000 x レイヤ100枚 x 4byte)これで40GBメモリが必要になる
これをオンメモリでやるとか一般的なPCでは無理っしょ
タイリングしてるのは有名ソフトだとフォトショップとGIMPだけど
Paint.NETとかやってないし個人作成のフリーソフトになると限りなく少ないんじゃない?
あとGIMPもプライグインの種類によってはタイリング処理非対応でメモリが足りないとかある
いやタイリングするのは当たり前で
タイルのある部分はすべてメモリにあるのが普通だってことだよ
メモリマップドファイルというものがありましてねぇ・・・。
それじゃ扱えるのは32bitの範囲にならない?
OSのエディションによるんでねぇか?
ファイルなんかに書きだしてたら速度でないでしょ
だからLUT使うんだよ
そんなこといったらOSだって仮想記憶使うから遅くて使いもんになんねえってなるだろ
スワップが頻発して遅くて使いもんならないの経験したことないの?
レイヤーが非選択状態の場合に別スレッドでメモリのデータを待避させるとか
もちろん待避中にはレイヤーの切り替えはできないようにして
そんなん誰が使うんだよw
使うかどうかよりも便利かどうかだと思う
便利なわけないでしょ
613 :
片山博文MZ:2011/09/27(火) 10:58:57.23
0.0.55!
MzcCreate24BppCheckDIB追加。
CScreenCtrlの強化と多くのバグ修正。
samplesにImageViewerを追加。
普通にこう、
Frame *frame = new Frame();
frame->width = 800;
frame->height = 600;
frame.show();
みたいなライブラリないのかな。
しばらくC++触ってないので文法アレだが。
MFCの再開発とかするよりD言語用MFCとかの方が需要有ると思う
616 :
デフォルトの名無しさん:2011/09/28(水) 10:40:54.31
Windows 依存のライブラリはもうはやらない気がする
もともとは…WindowsってMacのそっくりさんでしょ
いや?
Windows1 とか w
ATLのコピー品の方が需要ある
OS依存ライブラリか・・・基盤のOSがコケると全部台無しで
Windows関係はスマホ競争で脱落しかけてるし・・・
アンドロイドで動かす仕組みでも作ったら?
あんどろっつってもJavaはライブラリが充実してるから無意味というね
じゃあ、もうOSから作るしかないね
あれ?OSがまともだったらMFCいらない気が???
MSが他OSへの移植を断念したのは・・・
624 :
デフォルトの名無しさん:2011/10/03(月) 12:42:15.99
owとdmcで使えるなら使い道があるかも知れん
625 :
片山博文MZ:2011/10/06(木) 12:46:44.67
0.0.56!
OpenGLをサポート。MzcResolveShortcutの仕様変更。
MzcGetPathOfShortcut, MzcGetURLOfShortcutToURLを追加。
MzcTrackMouseEventDxを追加。
Mzc{Get,Set}ClipboardText, Mzc{Get,Set}ClipboardBitmapを追加。
CClipboardWatchWnd, CProcessList, CThreadListを追加。
CMap*::Insert(key, value)を追加。
OpenGLは色んな環境で使えるとこがいいとこなのに
変なtypedefしたら移植性低くなって価値なくなるような
Windows限定ライブラリなんだからDirectXサポートする方が何千倍もいいような
同意
OpenGLに関しては何もtypedefしてないよ。
typedefどころか何も提供してなくね?
wglのラップすら見当たらないけどどう使うんだ
mzcwin2をご覧あれ。wglCreateContextとMzcGL_SetPixelFormatDxと
wglMakeCurrentを呼び出せば、OpenGLが使えるようになる。
MzcGL2D_で始まる関数は2D用の関数。
>>628 そんな揚げ足とりみたいな反論するより、DirectXをサポートすべきという提言を受け入れたら?
どう考えても君のことを考えての忠告だし、礼くらい言ってもバチは当たらないよ。
DirectX SDKって、ダウンロードに1時間くらい掛かるんしょ?
ハードル高いから、標準サポートは無理っしょ。
何の釣りだろう
MZCはゲーム向けのライブラリではありまっしぇん。
ゲーム作りたい人は、他のライブラリを使ってくだしゃい。にゃんにゃん。
これはダメだと思った
老害
>>632 SDKいらないよDxLibとかぐぐってみ
DirectXがむずかしいと思ってるだけだよね?
>>634 ゲーム向けじゃないよWin7じゃ通常のWindow描画にも使われているよ
DirectXがむずかしいと思ってるだけだよね?
期待してる
DirectXってよく考えたらXYZをXYに変換してるだけだよね。
そう考えると難しくなくなった
639 :
片山博文MZ:2011/10/10(月) 14:17:11.13
0.0.57!
MzcIsOldWindowsの仕様変更(Win98以降に変更)。
バージョンチェック用の関数群 MzcIsWin* をたくさん追加。
CWnd::{Send,Post}Message(MZC_MSG *), mzcMsgを追加。
CListBox,CEditCtrl,CListViewCtrl,CScreenCtrlにEmpty,IsEmptyを追加。
CSDIFrameWndで閉じるときファイル名が正しくセットされないなどのバグを修正。
CDataGridを追加。samplesにCDataGridAppを追加。
これでエクセルみたいなプログラムが作れる。
641 :
デフォルトの名無しさん:2011/10/10(月) 17:05:49.65
最初からそう言えば全然印象が違ったのに・・・
こうなってくるとIDEが欲しいところ
必要なのはリファレンスだろ
片山博文MZって何歳なの?
老害らしいけど
何歳かはしらんけど昭和の遺物だな
25くらいかね?昭和生まれは2chから出てけよ
ガキしかいねえ
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 :
片山博文MZ:2011/10/13(木) 17:01:17.18
DoxygenとCppDocのどっちがいい?
どっちもさして変わらんと思うがDoxygenのほうがいろいろ機能があるかな
それよりコメント文(しかも“!”だの“@”だのの書式で指定した)が無いと
あんまり意味が無い
651 :
片山博文MZ:2011/10/14(金) 12:06:29.07
0.0.58!
MzcGL_SetPixelFormatDx→MzcGL_SetPixelFormat。
CScreenCtrl::CreateBackBitmap, CDataGrid::DrawCellを追加。
CDataGridのセルの文字数制限を取り除く。
<mzc/mzcshl.h>の#include間違いを修正。BCC Developerをサポート。
>>650 Doxygenでリファレンスを作ったよ!
ヘッダー読む人も居るだろうから、あんまり
ヘッダー汚したくないんだけど。何かいい方法ないかなぁ。
ソースに書けばいいかも。やってみよう!
補完でヒントが出ないから
ヘッダに書いたほうがいいよ
開発環境にEclipseを使っている人、居ますか?
そもそも使ってる人が居ません
1 年たったのか、すごいモチベーションだ。
一人でかなり大きなところまで育てた点は、頭が下がるな。
660 :
片山博文MZ:2011/10/15(土) 14:09:07.79
俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
>>655 VisualStudioとかでたきがする
VS,NetBeansはいけるね
CDTは使ってないけどEclipseもいけるんじゃないかな
未だにトリップつけてないってのも凄い気がする
無責任な発言をしても
他人の振りして泥仕合に持ち込めるからね
片山さんへ
トリップは、名前欄に #hoge (hogeは任意の文字列)でいけるよ
トリップをわざと変えれば自演できるんだし
使っとけばいいじゃんね
MFCやWin32++を超えるって・・・Qtとかじゃだめなの・・?
671 :
片山博文MZ ◆0lBZNi.Q7evd :2011/10/19(水) 13:51:29.26
0.0.59!
CDataGridEditでポンと音が鳴らなくした。
文書を充実。
Doxygenで日本語chmを作るとき、UTF-8をShift_JISに変換したり、
~の文字化けを直したりする必要があるみたい。めんどくさい。
久々に覗いてみたらカンパ求めてて失笑
前からだっけ?
夏くらいからやってたと思う
676 :
片山博文MZ ◆0lBZNi.Q7evd :2011/10/22(土) 14:30:57.91
0.0.60!
CClipboardWatchWndのメンバーがpublicでなかったバグを修正。
CGridWndにGWS_NOSIZEスタイルを追加。
CFileDialogのバージョン間違いを修正。もっと文書を充実。
CFrameWndのステータスバー表示を改善。CMDIFrameWndのバグが採れた!
WM_MDICREATEがマルチスレッドだと動作しないことがあるらしい。
CreateMDIWindow関数を使えば簡単にいけた。
僕より早くCPropertySheetExのバグを修正できた人に
WM900円上げます。
ふふふ、諸君はわたくしに勝てるかな。。。
煽ってもやらないわよ!
ソース見る気ないけどwindow style足りないとかないよね
CPropertySheetExのバグはプロシージャの設定間違いだった。
それから、いろいろバグを見つけたので直しにかかる。
GIFはもう特許切れてるから使ってもいいよね。。。GIF出力にバグ発見。
いいけどpngにしなよ
684 :
片山博文MZ ◆0lBZNi.Q7evd :2011/10/26(水) 13:25:49.12
0.0.61!
CPropertyPageEx::CommonConstructにおけるプロシージャ設定の間違いを修正。
ASSERT_KINDOFの間違いを修正。
CMDIFrameWnd::CloseAllChildrenを追加。
MzcGetWindowPos, MzcGetBlendFunction, MzcConvertForLayeredを追加。
CWnd::ShowWindowAsync, CWnd::SetLayeredWindowAttributes,
CWnd::UpdateLayeredWindowを追加。
MzcSaveGifToFileのバグ修正。
CFileDialogでファイルの種類を変更した際にドット拡張子を消すようにした。
やったぜ! バグが消えたぞ! イヤッホー!
誰も使わないライブラリのバグが
消えることに何の意味があるのだろうか
687 :
片山博文MZ ◆0lBZNi.Q7evd :2011/10/27(木) 11:10:56.78
0.0.62!
CWinApp::GetOSVersionを削除。MzcGetOSVersionを追加。
samplesにHybridAppを追加。CString{A,W}::Trimを追加。
{CEditCtrl,CListBox,CComboBox}::Select{None,All}を追加。
MDIでメニューのセパレータが重なるバグを修正。
MIDI再生後にボリュームコントロールの音量がゼロになるバグを修正。
次は、サウンドの多重再生とクラスウィザードだ!
今年中にやっちまうぞ! 待ってろM$!
なんかまとめのページとかないの?
>>688 >サウンドの多重再生
あ、えっと、M$にはDirectXとかXNAとか既にありまして・・・
>クラスウィザード
あ、えっと、M$にはVisualStudioとか既にありまして・・・
>>689 まとめページは、まだありません。
CHM形式のリファレンスがダウンロードできるので、それをご覧ください。
>>690 知ってるよ。。。
クラスウィザードはVC++ express使ってる俺みたいな乞食には必要だけど、
サウンドの多重再生はすなおにDirectX使ってくれたほうがいいと思う
まあ、自分の技術を試したいというのはわかるけど
eclipseのプラグイン作ればいいとおも
SmartMDIAppがスマートじゃない罠あり。
INIファイルの保存先はEXEと同じ場所だとまずいだろ(Vista以降)?
APPDATAあたりに保存しちゃうか?
リボン使えるようになった?
未対応。昔、姉があれをよく読んでたなぁ。
そもそもINIがスマートじゃない
ライブラリが勝手に保存先決めちゃだめだろうよ
せめてライブラリ利用者がEXEのパスとかAPDATAとか選択できるようにするのがいい
じゃあここはカレントディレクトリで
iniファイルの保存先を設定するためのiniファイル、の保存先を設定するための・・・
知能が小学生レベルの40代って本当に居るんだな
ふつーレジストリ。
>>702 Windowsのフリーソフトでは「レジストリを汚しません」が付加価値になるのにそれはないだろう
一部の勘違いしたバカだけにな
SUNがORACLEに買収されたときに
レジストリの場所が変わって動かなくなった超有名アプリがあるな
時代は環境変数
708 :
片山博文MZ ◆0lBZNi.Q7evd :2011/11/10(木) 14:07:37.30
0.0.63!
CKernelHandle→CFile。
C{Byte,{,D}Word,Ptr}Vector::{At,De}tachを追加。
CPropertyPage::OnInitDialogのバグ修正。
CMapStringToStringのメソッドの定義忘れを修正。
CWinApp::UseRegistryを削除し、CWinApp::SetSettingUseを追加。
CClipboardWatchWndの仕様変更。
710 :
デフォルトの名無しさん:2011/11/10(木) 14:19:29.74
片山先生と呼ぼうかな
MZはMazoの略とか何とか
マジンガーZ
madz でしょー
714 :
片山博文MZ:2011/11/14(月) 16:20:58.37
俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
715 :
片山博文MZ:2011/11/15(火) 14:02:38.47
ふふふ、諸君はわたくしに勝てるかな。。。
トリップ付けるようになったからあんま意味ないぞ
レジストリ関連とクラスウィザード(以下CW)はバグだらけ。
次のリリースで修正します。
718 :
片山博文MZ:2011/11/16(水) 10:26:02.12
ふふふ、諸君はわたくしに勝てるかな。。。
719 :
片山博文MZ ◆0lBZNi.Q7evd :2011/11/17(木) 15:20:40.25
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関連のバグ修正。
MZCクラスウィザードはメッセージハンドラの追加ができるように
なって、実用的になりました。お試しください。
今年が終わるまでサポートしますから、
皆様、どんどんご要望を出してくださいませ。
2011年と共にmzcも終焉か
なになに? mz終焉するの?w
724 :
デフォルトの名無しさん:2011/11/19(土) 15:20:40.04
え?
『発表』
MZCは2012年1月1日を以って継続サポートを終了いたします。
2012年以降は断続サポートに切り替わります。
次何やんの
飽きたのか
728 :
片山博文MZ ◆0lBZNi.Q7evd :2011/11/22(火) 17:03:46.51
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のバグ修正。
CW 0.2!
外部エディタを設定すると、自動でエディタで開くようになる。
プロジェクトの場所の履歴をとるようにした。
日本語と英語へのローカライズ完了。
ホームページでバイナリをテスト配布中。。。
731 :
片山博文MZ ◆0lBZNi.Q7evd :2011/11/23(水) 14:32:37.33
ホームページを更新。
バグを発見した人にWM900円あげるよ。
1件に付き900?
733 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/03(土) 15:02:27.43
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を削除。
CW 0.3!
CAboutDlgの追加。エラー処理を厳密に。SmartMDIAppの修正。
誰も見てないのに頑張るね
見てるから大丈夫
年内なら要望聞くんだよね?DirectXまだ?
738 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/05(月) 14:43:25.61
ちょっと調べたけど、DirectSoundってややこしいね。
DirectMusicで音楽じゃない音声を再生するってありかな?
っ XAudio2
64ビット VistaではDirectMusicは使えない。
7ではパフォーマンスレイヤー以外は使える。
Vistaを切り捨てればDirectMusicはまだ使える。
Vista以降ではDirectSound3Dは使えない。
なのでDirectMusicをサポートするぞーー! 野郎どもいいか?
好きにすればいいと思うよ
MSが使うなと言っていて既にSDKから削除されたコンポーネントを
新規で使おうって発想が理解できない
>>744 他にいい方法ある? XPより古い環境切り捨てですか?
XAudio2なりDirectSoundなりいくらでもあるだろ
>>746 XAudio 2ってWindows 98でも使えるの?
使えないじゃん。
今時Windows98サポートのためにVistaを切り捨てるとか常人には出来ない発想だな
さすがのさるとび!!!
Windows 98 をサポートする理由がわからんな。
破綻した某航空会社の社内システムも Windows 2000 から新しいのに切り替わっていってるというのに
XPSP2以前なんか切捨てでいいだろ
本人がWin98しか持ってないという
いつまで前世紀の環境にしがみついてんだよ
俺もWin95でも動くの目指して作ってるけどいつも思うんだ
XPより前の使ってるやつは死刑って法律が出来れば踏ん切りがつくのになって
国会はしょうもない事ばっかしてないでこういう役に立つ法律作ればいいのに
DirectMusicとDirectSoundって使い道違うのに片方だけとか信じられんわ
常識的に考えてOS依存部分はLoadLibraryで吸収だろ
758 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/12(月) 15:31:02.95
0.0.67! MzcCoInitialize, MzcCoUninitializeを追加。
CDxSound{,Buffer}, CDxMusic{,Player,Segment}を追加。
samplesにCDxSoundAppを追加。
CW 0.4! MinGWで一部ビルドできなかったバグ修正。
無限ループに陥るバグを修正。
Hey, Yo! DirectSound、DirectMusicサポートだぜ!
サウンドと音楽の同時再生もできて、音楽の再生速度も変えられるゼ。
Check it out!
馬鹿には無理
ツールバーは結構難しいね
763 :
デフォルトの名無しさん:2011/12/13(火) 12:06:52.22
age
764 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/14(水) 13:49:42.90
浮動ツールバーの件、WebMoney1万円に増額!!!
君もやりたくなったでしょう?
765 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/14(水) 16:14:04.54
フローティングツールバーを実装したら1万円を贈呈してやるぜ!
1万円だぜ、1万。1万円あげようって言ってんだぜ。
クリスマスに超高級ケーキ買えるお金だぜ。
尼券とかならともかくWMそんなにもらっても使うとこがない
浮動ツールバーってむずいん?
馬鹿には無理
769 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/15(木) 10:18:10.25
CW 0.5!
protectedと:の間に空白があっても正しく読み取れるようにした。
クラス宣言に__declspec(...)などがあっても正しく読み取れるようにした。
DECLARE_MESSAGE_MAPとBEGIN_MESSAGE_MAPの挿入方法を修正。
エディタ設定の際、ショートカットでも受け付けるようにした。
他さまざまな修正。
(私みたいな)馬鹿には無理(です、ごめんなさい。天才には可能です。)
1DL毎に1000円くれるならポーティングしてやらないことも無い
>>771 ツールかスクリプト使って連続ダウンやるんだろ
同一IPは1DLとするとか、同一MACアドレスは1DLとするとかくらい言えよw
>>770 wxのauiが参考になると思う
というかまんまパクれるかと
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))
を投函し、ドラッグを続ける。
注意点:
フローティング用のウィンドウのクラス名は、CFloatingToolWndとし、
mzcwin2で宣言・定義する。ツールバーおよびダイアログバーが
各自フローティング用のウィンドウを所有する。挿入位置の情報は、
挿入先のReBar、バンドのインデックス、挿入先が縦か横かどうかである。
FrameWndの取得にはMzcGetTopLevelとCWnd::FromHandleを使う。
CReBar::BandFromHwndを追加。CFloatingToolWnd::CalcDockingPosで
ドッキング後の挿入位置を計算する。(_WIN32_IE < 0x0300)の場合は
ドラッギングに対する反応は無効とする。必要ならCToolBar, CReBar,
CDialogBar, CFrameWndを変更してもいい。
778 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/16(金) 13:20:04.65
【徹底討論開始】
上記の仕様についてご批評を。
ツールバーやダイアログバーだけじゃなく他のものも
ドッキング、フローティングできるようにするため、
基底クラスを用意するのはどうだろうか。もし
基底クラスを用意するならどのような仕様にするべきか。
始めまして
ちょっと気になったので
仕組みとなる発想が古い気がするんですけど
WPFなどを使用された経験はありますか?
設計思想というかパラダイムが20世紀だわな
ツールバーのフローティングについて議論してる時点で。
>>780 ありません。どの辺が古いのでしょうか。
CDockableというクラスを用意して
CToolBar, CDialogBarの第二基底クラスにするという方法が
いいかもしれない。これならドックや浮動できるバーのクラスを
増やすことができる。
783 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/17(土) 13:07:21.02
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);とする。
もっと低レベルな基底クラスを作ってレイアウトも任せたらどうでしょうか
dynamic_cast使わなくて済むように設計するだろ普通
>>784 その基底クラスのインターフェースはどうゆう風にすれば?
擬似コードを書いてくれると助かります。
>>785 CToolBarとCDialogBarの第一基底クラスは共通化できない。
処理を共通化するには第二基底クラスが必要で、第二基底クラスを
取り出すのにdynamic_castが必要なのです。
ツールバーもただのコンテナの一種じゃないですか
コンテナの基底クラスが先なんじゃないですか
MSDNのヘルプでWPFやwindowsFormsのクラスを見ると
継承しているクラスの階層が出てます
そのクラスで何を実現しているか参考にしてはいかがですか?
>>788 Win32APIやMFCではすべてのウィンドウは普通にコンテナになる。
あえてコンテナのインターフェイスを追加する必要はない。
普通のコンテナの機能がすでにあっても
一貫した機能を提供したい場合はその都度コードを書くより
基底のクラス書いたらいいのではと思ったんですがおせっかいでしたね
これで終りにしますが、
フローティングパネルというコンテナクラス作って
中にツールバーやその他を置くだけでいいと思います
コントロールにそのコントロール特有ではない機能を入れるのはおかしいです
コンテナはコンテナ基底クラスをつくって
AddBarのような単機能向けじゃなくてAddでコントロール基底クラスを
追加できるような作りにしておけばいいと思います
内部でdynamic_castというのは誰かが書いていた通り
20世紀の思想だと思います
コンテナ基底クラスって要るの?
余計なものって感じがするんだけど
794 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/18(日) 12:16:31.73
【緊急ニュース】クリスマスまでにフローティングツールバーが実現!
ドック状態の保存まで出来て、超便利な予感!
>>ドック状態の保存まで出来て
出来るのが当たり前でしょ
【討論終了】
フローティングツールバーを使ったことのある人 ……1/100人
フローティングツールバーを使ったことのある人100人のうちフローティングツールバーを便利だと思う人 ……3/100人
799 :
デフォルトの名無しさん:2011/12/18(日) 18:51:40.42
フローティングツールバーを使った代表的なアプリって何があるんだろう
photoshop
VC9EE
VB6IDE
今の時代にこんなことやって公開する人がいるのか。
俺も、20年近く前MFCが糞重たいんで、その置き換えにフレームワークとコンテナ作ったよ。
つい最近まで実務に使ってたが、今から始めるなら作ろうとは思わんなぁ〜
804 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/22(木) 10:31:24.19
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 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/22(木) 10:32:00.50
CW 0.6!
MinGWのコンパイルオプションに-lkernel32 -luser32 -lgdi32を追加。
仕様変更に伴うテンプレートなどの変更。
ダイアログバーとフローティングツールバーが使えるようになったよ。
EnableDockingでBL_FLOATING無指定なら、フローティングが
無効になる。いつもの通り、バグ発見にWM900円差し上げます。
ダイアログバーの使い方はsamplesのBrowserAppを見てください。
ダイアログを使わずにタブで画面切り替えってどうやってやればいい?
CRichEditCtrlは必要ですか? 必要ありなしで投票お願いします。
いるでしょ、普通
ところでこれってどの部分でMFCを超えてるの?
9xサポートするならそのままラッピングしただけの実装はいらね
6.0相当まで実装して背景に画像とか容易に設定できるなら欲しい
WMって何に使えるの?
>>813 画像読み書き、ダイアログの項目の動的配置、
例外がstd::bad_allocのみ、スクリプト・音声・音楽のサポート、
開発環境が自由。
>>814 VC6相当のMFCですね。ReBarやツールバーの背景ですか?
一般のウィンドウの背景もですか? MzcTileBitmapで実装してみるか。。。
>>816 立地エディットのバージョンだよOffice2007相当
1.0だと文字単位の背景色すら使えないでしょ
そうするとカラー文字表示だけしたいのに自前で実装かHTMLコントロールになっちゃう
こりゃバージョン管理が大変だな。
CRichEditCtrl{,2,3,4,5,6},MzcInitRichEdit{,2,3,4,5,6}
そんなにいらないよ
4以上で作っておけば片山以外は問題ない
せっかくフローティングツールバー作ったんだし
ビルド済みのサンプルも用意しといたほうが間口広がるんじゃね
コモンダイアログで255文字超えたパス扱えないから対応した
ファイル選択ダイアログとフォルダ選択ダイアログ作ってよ
あと画像読み込みでICCプロファイルV4までの反映とWCS対応、非対応OSはLittleCMS辺りで
tabないのか
IE9あるよな
複数のページ開いて置いてどれかのタブヘッダドラッグするよな
左右に動かすとあら不思議
こういうのを標準で実装しろよ
↑片山くん実装ヨロ
829 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/24(土) 11:41:59.01
>>818 RichEdit 5.0/6.0はAPIもDLLも非公開のようですぞ!
日本語版と英語版のRichEdit 1.0, 2.0, 3.0, 4.1のDLLは、
どこからダウンロードすればいい?
Windows Installer 2.0の中にRichEdit 3.0のriched20.dllが
含まれている。だが、msftedit.dllのダウンロード元が見つからない。
どうしよどうしよ。
msftedit.dll再配布可能じゃないな。残念。
イブなのにこんなに書き込みしてるとは
834 :
片山博文MZ ◆0lBZNi.Q7evd :2011/12/29(木) 14:15:34.30
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を追加。
CW 0.7!
仕様変更に合わせる。
おつおつ
Direct3Dまだー?
>>814 背景画像を設定する方法がわからなかった。
多分、WM_ERASEBKGND、EM_FORMATRANGEなどを使うのだろうけど。
>>824 MAX_FARLONGPATHでMAX_PATH以上の文字をサポートしました。
最後の一行は分からなかった。
>>825 時間切れ。
>>836 3Dをサポートする予定はありません。
【継続サポート終了】
MZCの継続サポートを終了し、以後、断続サポートに切り替わります。
WebMoneyによる寄付なども受け付けております。
寄付などをなさった場合はご一報ください。
お問い合わせはこちら:
[email protected]
0.0.70?(非公開)
mzcver_.hにMAKEVER(a,b,c,d)とMZCVERを追加。
CWnd::{Load,Save}WindowPosを修正。
C*{Vector,List}::Uniqueを追加。
CStringVectorの初期化のバグ修正。
最新版のMZCは、WebMoney2000円です。メールでご連絡ください。
[email protected]
2000円も出すやついんのかよ。
どんだけ自信過剰なんだ。
一応2chは無断の広告活動は禁止されている
運営に通報したらスレごと消されるな
過去にも似たようなことしたスレはバッサリ消されてる
暇な人はどうぞ
嫌なら片山は上のレス消してもらえ
あれだな
ヤフオクなんかでアホみたいな自作絵にバカみたいな値段つけて
もしも一枚でも売れたらウマスwwwって言う浅ましさ
これは広告なのか?
iPhoneとandroidで動くんなら
10000円くらい出すんだが
諸君は、それほど貧乏なのか?
500万円くらい老後のために貯蓄しているんじゃないのか?
貧乏人のために、最新版ソースはSVNに上げといた。
これで諸君も飢え死にはしないだろう。SVNが分かるヤツ限定だけど。
848 :
片山博文MZ ◆0lBZNi.Q7evd :2012/01/02(月) 14:04:24.93
なんで突然煽りはじめたんだ?w
851 :
片山博文MZ ◆0lBZNi.Q7evd :2012/01/04(水) 11:06:42.82
0.0.71?
MzcDoesFileExistとMzcDoesDirExistを追加。
MzcGetDirDriveTypeを追加。マルチモニタをサポート。
MzcGetMonitorRectの追加とMzcGetWorkAreaの強化。
MzcCenterWindowを修正。
デバッグ用のnewって必要ですか?
マルチモニタをサポートするにはWINVER >= 0x0500の定義が必要。
デバッグ用のnewって他のコンパイラでサポートするのが
難しいんだよな。__FILE__/__LINE__を埋め込むのができないし。
いまさらMFCってのが泣かせるお
#define COMPILE_MULTIMON_STUBS
#include <multimon.h>
MinGWに<multimon.h>がない。しかもBCC55では、<multimon.h>に
関する関数の定義をinlineもなく、そのまま埋め込んでいる。
使えねー。
VC++のデバッグ版CRTは意外と機能が多くて仕様設計に手間取っている。
それから、<commctrl.h>に_TrackMouseEventというのがあるから、
これを使うことにする。
それWin95対応してないけどいいの?
862 :
片山博文MZ ◆0lBZNi.Q7evd :2012/01/13(金) 11:31:45.45
0.0.72?
TRACE{A,W}を追加。mzc{new,{ma,ca,rea}lloc,free}を追加。
MzcEnableMemoryTraceを追加。
MzcTrackMouseEventDx, MzcGetDiskFreeSpaceExを修正。
CMap*::GetValueに非constメソッドを追加。
>>861 _TrackMouseEventはWin95+IE3で動くはず。
将来的にはWonders 95という互換レイヤーで吸収させるつもり。
メモリトレースができるようになりました。デバッグ版で
new/malloc/freeの代わりにmzcnew/mzcmalloc/mzcfreeを使って、
MzcEnableMemoryTrace(TRUE);を実行すればトレースできる。
MzcEnableMemoryTraceは、MFCのとは違ってスレッドローカルだから、
スレッドごとにトレースができる。
new[]は?
867 :
片山博文MZ ◆0lBZNi.Q7evd :2012/01/15(日) 10:21:45.68
0.0.73?
MzcConvertForLayered→MzcPremultiplyDIB。
MzcRand→MzcRand{Int,Double}。
MzcCreate{24,32}BppDIB, MzcCreate32BppSolidDIB,
MzcGetBlendFunctionを強化。
MzcCreate24BppSolidDIBを追加。
samplesにLayeredSampleを追加。
MzcRandの引数があいまいだった。ゴメン。
LayeredSampleでは、半透明のスライムがデスクトップを動き回るぞ。
>>865 new[]は定義されているよ。何か問題でも?
SVNでricheditに関するファイル追加を忘れていた。ゴメン。
870 :
片山博文MZ ◆0lBZNi.Q7evd :2012/01/25(水) 11:28:41.62
0.0.74!(公開) CGridWnd→CDividerCtrl。
CFrameWnd::OnSizeの一部をCFrameWnd::DoDockLayoutに分離。
GridFrameApp→DivFrameApp。
CSDIFrameWndがおかしい(サンプルのSmartSDIAppとImageViewer)。
ウィンドウ一覧が正しく表示されないバグがある。CShareが原因か?
また、CFrameWnd::{Load,Save}DockStateで、バーの順序が
保存されないバグあり。
CW(クラスウィザード) 0.8! CGridWnd→CDividerCtrl。
ユーザがプロジェクトのテンプレートを追加できるようにした。
英語版のパラメータ設定が日本語になっていたのを訂正。
---
バイナリ付きのサンプルをホームページで提供するようになりました。
872 :
片山博文MZ ◆0lBZNi.Q7evd :2012/01/26(木) 13:44:17.00
0.0.75?
CShareのバグ修正。
CHyperlinkCtrlのカーソル設定を修正。
0.0.76?
CResizeeDialogのサイズグリップ表示に関するバグを修正。
MzcChangeWindowMessageFilterを追加。
874 :
片山博文MZ ◆0lBZNi.Q7evd :2012/02/17(金) 10:36:39.13
0.0.77!
m_rebar{Top,Bottom,Left,Right}をm_rebars[4]にまとめる。
CFrameWnd::{Load,Save}DockStateでバーの順序を保存するようになった。
CFrameWnd::DoInnerLayoutを追加。
サンプルをプロジェクトから分離。
CDialogでPostNcDestroyが呼ばれないバグを修正。
>片山博文MZ
バグだらけで埋まるスレ
設計しないで後付けもほどほどにしろ。
新規に作らないても、動作が安定してるやつのラッパーで良いと思うんだが。
片山博文MZは開発の実力はあると思うよ。
手間、作業を減らす事を覚えて必要なことに手間かけた方が良いと思う。
コーディング力と必要な手抜き力は反比例すると思う。
アンドロ板にも出張してきたねコイツ
C#スレにも来たよ
881 :
片山博文MZ:2012/02/25(土) 22:45:13.20
俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
俺童貞ぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃ!
884 :
片山博文MZ:2012/03/17(土) 17:43:59.97
俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
全部まとめて気持ち悪い
>>885 トラップ発動! 補導されるです。
性情報に耐性が無い坊やは2ちゃんねるに来ちゃだめです!
888 :
片山博文MZ:2012/03/25(日) 21:20:52.65
俺sugeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!
888
890 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/04/17(火) 14:16:50.15
0.0.78!
CWinApp::FlushSetting→CWinApp::FlushSettings。
MzcChangeWindowMessageFilter→MzcChangeWindowMessageFilterEx。
リファレンスをバイリンガルにする。
ドラッグできるタブコントロールは難しいんだな。。。
WTLのCTabViewはドラッグできるから参考にすれば?
ドラッグドロップの部分はシンプルな実装だよ
GCCの場合はマルチスレッドのコードをpthreadで実装しなければいけない。
GCCで_beginthreadexを使っているコードは設計ミス。修正しなければ。
895 :
デフォルトの名無しさん:2012/05/06(日) 19:34:59.58
>>893 礼を言うときくらい丁寧語を使えよ、893以下のモラルだな
なぜかNGIDに登録されてるわ
D言語に移植してみるかな。。。
ちょっと近寄らないでくれますかね
レス番飛びすぎだろこのスレ
ほしゅ
いま見えてるのは899
そこまでして自分を偽らなくてもいいのに。
903 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/06/05(火) 12:50:35.95
>>902 偽っていないよーん。これが本当の自分だよーん。スポンサー募集中。
905 :
デフォルトの名無しさん:2012/06/05(火) 22:18:52.93
>>904 君は馬鹿かね?
>>902が君に対してレスしたとは限らないのに
そこで反応したら、君に思い当たる節があるということがばれてしまうじゃないかw
分かりやすいというか、底が浅いというか・・・
底は抜けてるよ
根拠がないな
やっつけ仕事が終わるまで待っててくれよ。
909 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/07/25(水) 12:38:31.40
MZCは、無料ですよ!!
くやしいけど腰が抜けちゃった
ちょうど今から一年前、と、言っても今年はうるう年ですので普段より1日長い366日前、約50年も続いたテレビのアナログ放送が終了しました。
あのときの、前日までの異様なほどの混乱と、当日の不気味なまでの落ち着きぶりを、覚えているでしょうか?
あれから一年たったのですよ。
と、言っても我が家には相変わらずアナログのテレビが一台鎮座し、電源を入れれば普通にテレビ番組を見ることが出来ます。もちろんケー
ブルテレビ局によるデジアナ変換で見ることが出来るだけですが、結果数年前と何も変わっていません。街も、一歩きすれば相変わらずあち
こちに放置されているブラウン管テレビを発見することが出来ます、これも以前と何も変わっていません。結局、地上波放送の停波というのは
テレビ局のためのものであり、わたしたちのためのものではなかったのです。
テレビ局のいいわけでは、アナログ波を続けられないのは余計なお金が掛かるから、というものでした。じゃぁあれから一年、アナログにお金
を使う必要がなくなった地上波の番組はどれだけ質が上がったのかと見てみますと・・・。
朝情報番組・ワイドショー・ドラマの再放送・通販・ドラマの再放送・通販・ワイドショー・ドラマの再放送・地方情報・ニュース・2時間バラエティ・ス
ペシャル番組・ニュース・通販・・・
当地のとある放送局はこんな構成です。一年前に比べて質が上がってる?とてもそうは思えません。バラエティ番組の2時間構成はもはやわ
ざわざ「スペシャル」と銘打つことすらしていません。3時間でやっと「スペシャル」扱いです。質はあがるどころか下がっている、と言っても過言
ではないでしょう。
http://blogos.com/article/43710/
なぜ時間が伸びるとスペシャルになるのか
なぜスペシャルだと質があがったことになるのか
913 :
デフォルトの名無しさん:2012/07/26(木) 22:30:19.02
>>912 時間は伸び縮みしない。伸び縮みできるのは空間だけ。
ちなみに空間の移動速度に制限はない。
空間の質量はヒッグスが支配している
だが人間にとっての時間が不変だと誰に言えよう
致命傷を負った瞬間、時間は劇的に伸縮していると言えるのではないか
人間には時間を感じる器官が有るんじゃなかったっけ?
プログラム的に言えば、ロジックのアップデート回数を増やしてるだけだと思う。
>>914 その粒子を人間が支配できれば2063年にワープ航法が実現するのも夢ではない。
馬鹿には無理
保守
保守
922 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/09/06(木) 13:41:31.87
0.0.79!
MzcLineSegmentPointDistance、MzcLineSegmentPointDDistanceの間違い修正。
MzcJoinJoin, MzcSplitSplitを追加。CDataGridの再設計。
CDataGridで何度でも「元に戻す」ができるようになった。CDataGridAppの改良。
923 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/09/06(木) 13:43:14.01
人生も元に戻したりやり直せるといいね。
924 :
デフォルトの名無しさん:2012/09/06(木) 13:55:57.35
ふふふっ、無制限UNDOができるようになったということは、
小生も上級プログラマの仲間入りをしたということだ。
諸君、これからもどんどん行くぞ! ついてこれるかな?
ははははははははっははははっ。
馬鹿には乙
要望あったら聞いとく。ドラッグ可能なタブコントロールと
それを使ったプロジェクトテンプレート。CDataGridのマクロ再生・記録。
これからやる。
サイズやインデックスがINTなのは、64ビット化を考えると
設計ミスだな。64ビットならsize_t使わないとダメだな、うん。
931 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/10/23(火) 15:07:12.20
サンプルのDataGridAppを見てみろ、すごいだろすごいだろ。。。
短いコードで日本語文字コードのほとんどを制覇できる。。。
その上、アンドゥ何回もできる。マクロも記録・再生可能。
64ビットサポートとフレームワーク刷新のため、新たなるクラスライブラリ
MZC2の開発が決定になりました。これからもMZC2にご期待ください。
【MZC2の開発方針】
64bitサポートのため、データサイズとインデックスにはsize_tを使う。MAXSIZE_Tを定義。
名前空間はなし。#include <mzc2/mzc.h> 関数とマクロ関数名はMzcで始める。
定数名と構造体名は、mzcで始める。クラス名はMで始める。
いくつかのクラス名は短縮(MStrVecVec等)。マクロは他のライブラリと衝突しないように。
(続き)多重継承は使わない。BOOLリターンよりもエラー情報のあるLONGリターンを推奨。
データの扱いに一貫性と例外安全を持たせる。MzcSwapを定義。文字列以外にもMid,Left,Rightを定義。
DirectMusicを使わないMID再生をサポートしない。スクリプト実装をもっと分かりやすく。
D言語の良い所を取り入れる。
935 :
デフォルトの名無しさん:2012/10/23(火) 15:33:17.48
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
【MZC2の努力目標】
ソートの高速化。シェアウェアサポート。AVI動画解析。ランダムデータ生成。
多重継承を使わない浮動ツールバー実装。音声入力録音。Webカメラサポート。
アニメーションGIFサポート。メモリ不足時のメッセージ表示。
(続き)
SEH発生時のヘルプ自動表示。クラスウィザードの充実。正規表現(鬼車)。
ブロックされないHTMLヘルプ。テキストエディタコントロール。
自前のリソースエディタとIDE。
938 :
デフォルトの名無しさん:2012/10/23(火) 15:48:38.88
近傍系を選び位相空間の公理化を行った。
GIFアニメ難しい。。。
ざこじゃないお
きんぎょだお
職場にちょいブスなんだけどスタイルいい子がいる
なんか俺に気が有りそうで
気がついたらいつも隣りにいたりする
いつもミニスカ+ニーソでエッチな格好してるんだけど
今度、タイトミニ+黒スト履いてきてって頼んでみようかなあ
あの脚はたまらん
ほおずりしてチンポこすりつけたい
で、そのままパンストとパンティずらして後ろから突きたい
あの子、ニーソはエロいけど性格地味だしオタクっぽいからたぶん処女だろうな
俺が黒ストにむしゃぶりついたら男性不信になるかもしれん
おっきした
保守。
949 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/12/07(金) 14:18:04.38
MZC ver.0.0.81!
MzcRecursiveCreateDirectory, MzcRemoveBackslash{A,W,}, MzcGetOSVersionString{A,W,},
Mzc{Path,File,Dir}Exists, MzcTimeToFileTime, MzcRepositionDialogを追加。
空文字列を指定したときの文字コードの認識を修正。
CDataGridの改良と仕様変更。
950 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/12/07(金) 14:20:54.14
951 :
デフォルトの名無しさん:2012/12/09(日) 09:15:10.58
>>946 ミニスカ+ニーソで女装オナニーすると気持ちいいぞ
952 :
デフォルトの名無しさん:2012/12/11(火) 01:17:41.04
女上司に肉体関係迫られて仕方なく抱いたよ
退職しても次の会社見つけられないし
うらやましいね
会社の同僚で、同僚の女性1人にだけ明らかにそっけないやつがいる。
好きなのかな。
本当に嫌いの確率……95%
勘違い…………………4.7%
実在したツンデレ……0.3%
959 :
片山博文MZボット ◆0lBZNi.Q7evd :2013/01/11(金) 14:53:16.81
MZC ver.0.0.82!
浮動ツールバーのバグ修正。
MzcCopyItemIDList, MzcGetNextItemIDList関数を削除。PIDL_*関数を追加。
MSVCRT(MSVCRTD)を使うようにMZC.makを設定。
やりたいことができたので、そろそろMZC2の開発に移ります。
うめとくか
ボットも地下に埋めるべき
最近、ウイルス罪で捕まった人、片山っていうんだけど違うよね。
ほしゅ
留置所
ご現福をお祈りいたします。
969 :
片山博文MZパンク ◆0lBZNi.Q7evd :2013/02/17(日) 23:41:04.49
しばらく数学の研究に没頭してたが帰ってきた。
ランタイムDLLを追加するのを忘れてた(>_<)
使ってないDLLまでインポートしてしまうのはEXEサイズがかさばってまずいことに気が付いた。どうすんねん
おっぱいもみたい
(・)(・)
ほれ
うんち食べたい
うめ
僕が僕じゃなくなる時にモー娘。は終わるだろう
MZC2順調に開発中。。。
おう、頑張れ
チンポ臭い
楽しみ方は人それぞれ自由だろ
@俺は富士山のようにチンカスためてお披露目する瞬間
A風呂洗いの時間に
「おっそこまで徹底して洗っちゃうわけ?」or
「そんな洗い方でいいのか?まだ臭いぞ」
と心の中で思ってる
ガンダムが燃え上がることを熱望する歌があった為に
ガンプラを燃やして自宅を放火した奴が実際にいる
渋谷駅の看板ネットで買うと4万もするのか
東急行って買えば1万なのに
東急にしてみれば廃品処分の金払わなくて済んで、
さらに馬鹿が高額で買い取ってくれるというウハウハ商売。