カテゴリー
コンピュータ

USBメモリがどうした!


これなんかわかります?
これ128MBのメモリなんです。

カテゴリー
VB6

ユーザー定義型はクラスやフォームに渡せない

おそらくCOMの仕様が絡んでくるからだと思うが、クラスやフォームにはユーザー定義型(構造体)は引数で渡せない。
代案としては、
・グローバルのスコープを持たせた構造体を用意し、そこに値をセットして渡す。
・構造体の各値を取得する関数をどこかに用意して、クラス内からはをそれを呼び出す。
 または、構造体を真似たクラスを作って用意しておく。
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9812/vb6/

カテゴリー
VB6

S1008: [Microsoft][ODBC SQL Server Driver]操作が取り消されました。

S1008: [Microsoft][ODBC SQL Server Driver]操作が取り消されました。
というエラーが突如発生。
このエラーはDAOを使用しているときにながーいSQL文を実行したときに発生した。
複数のUpdate文を改行コードを入れながら一つのString変数に1000行近く入れて、daoのCommandText(だったかな?)に入れて実行させたら出た。
普通はこんなことやらないだろうけど、一行ずつCommandTextに入れて実行するようにしたらエラーは出なくなった。
[2004.5.24追記]
このエラーはODBCドライバがタイムアウトしてしまうのが原因のようです。ODBCドライバが時間が来て、取り消した物だからSQL Serverはユーザーがキャンセルして取り消されたと思ってこのエラーを返してきているみたいですね。複数行のSQLを投げた結果、時間がかかりすぎてタイムアウトになったのでしょう。

カテゴリー
VB6

関数名と同じプロパティーを使うな

仕事はVB6オンリーだから、今時の.NETよりTipsが増えていくのはこれ必然。
クラスでFormatとかいうプロパティーを持っているクラスを作ったとすると、そのクラス内でFormat関数は使えなくなるので注意。
.NETならば、名前階層をSystem.Text?という風に明示的に打っていけばこの場合でもFomrat関数を使えると思うのだが、どうもVB6の場合はローカルのプロパティーを最優先する上に(これは.netも同じだろうが)、明示的にFormat関数を呼び出す方法が無いので、プロパティーに関数名と同じ名前をつけてしまうと、プロパティーの方が優先されて関数が呼び出せなくなってしまうようだ。
※コメント欄で教えてもらいましたが、VBAからたどっていくとVBの標準関数も探し当てられるみたいです。

カテゴリー
Linux

ディレクトリの移動には実行権限が必要

みたいな気がしたけど、あってるかな?
あるユーザーがcdを実行してディレクトリを移動しようとしたときに、そのディレクトリに対しての実行権限をユーザーが持っていない場合、permision エラーになるようだ。
analogもこれで実行できなかった。確かに、旧開発メモにもかいてあったんだけどさ。
読み取り権限があれば良いような気もするのだが。

カテゴリー
.NET

FTP通信のサンプルソース

.NETでTCP/IPの通信を行うプログラムを組みたいならば、参考になると思います。
自分はNEMCHI作った後に気づいたので、このノウハウはNEMCHIにまったく生かされていません(笑)
http://www.vbvbvb.net/jp/guide/ip/code.xml

カテゴリー
VB6

コントロール配列にはWithEventsが使えない

どうも、コントロール配列にしてしまうとWith Eventsでそのコントロールのイベントを取得することが出来ない様子。
前回のもだけどVBって意外とこういったあまり表に出ない仕様でひっかかることが多いような・・・

カテゴリー
.NET

スレッドセーフではないもの

スレッドセーフでないオブジェクトは、複数のスレッドからアクセスすると問題になる。
Hashtableなどもそうらしい。
あと、こういうスレッドセーフでない物には、Syncronized共有メソッドがある
ので、それを使って同期オブジェクトを作ってそれをつかっていくらしい。