>>951 VBが使えるWindowsサーバなら使えるよ。
とってもお手楽なIntraWebなんてのもあるよ
> とってもお手楽なIntraWebなんてのもあるよ 「あるよ」というよりは「あった」という方が正確だな。
bds2006にもIntraWebはあるよ サーバを建てるなんてメンドクサイ事考えなくても どっかの古いパソコンで作った実行ファイル走らせるだけで サーバの出来上がり。 公開しないIntraなら、ホントにとってもお手軽だよ
まぁ、その程度だけどな
>>949 その通り。Javaも.NETも、サーバーサイドや業務用で一台丸ごとそのアプリに占有させるならわかるが、普通のデスクトップアプリとしては有り得ん…。
>>951 WebSnapという機能があって、ISAPIやApache ModuleをRADで作成可能。
DLLとして作られるので当然ネイティブコード動作。
普通に標準入出力を扱えるので古典的CGIも作れる。
958 :
デフォルトの名無しさん :2006/04/14(金) 00:23:46
>>956 サーバサイドでも.NETを選択する理由はほとんどないよね。。。
960 :
デフォルトの名無しさん :2006/04/14(金) 07:29:31
サーバサイドでもDelphiを選択する理由はほとんどないよね クライアントサイドでもDelphiを選択する理由はほとんどないよね IDE事業売却しちゃったから
全ての用途に使用する理由が皆無なVBよりはマシって事か。
スレ違い
Delphiはじめました。よろしくv(^^)v
>>963 Delphi、2.0から使ってるけど、もう落目だよ
orz
965 :
デフォルトの名無しさん :2006/04/14(金) 19:59:22
「自アプリからExplorerにリストアイテムをD&Dしたときに、
ドロップ先のExplorerのフォルダパスを取得する」
方法をご存知でしたら教えて下さいませんでしょうか。
Delphi-MLやネットで調べた時にその答えとして出てくる
http://www.melander.dk/delphi/dragdrop/ が随分前から消えてしまっていまして、
探し回ってDropSource.pasだけはなんとか入手したのですが、
DropSource特有の使用方法がわからず、色々動かしてみたのですが
パスの取得ができずに困っています。
できましたらよろしくお願い致します。
967 :
デフォルトの名無しさん :2006/04/15(土) 08:49:11
Delphi7でJpegファイルのサムネイルをListViewに表示しようとしています。 ListViewは仮想リストビューとして、別スレッドでサムネイルを読み込んで ImageListに追加しているのですが、ImageListにAddするたびにListViewが Refreshされてしまい、チラツキがずっと続いてしまいます。何とかなりませんか?
ListView.DoubleBuffered := True;
バックグラウンドでキーボードの入力を監視して Aキーが押されたときそれをBキーに置換するといったモノを作りたいのですが 可能ですか? また、どのように手をつければいいのでしょうか?
>>970 窓使いの憂鬱がそれできたを思う。
参考にならんかね
変数のみからインスタンスを作成したいのですが、どうすれば良いのでしょう?
type
THoge = class
end;
var
H: THoge;
begin
H :=nil;
H.ClassType.Create;
の様な事をやりたいのです。
>>970 SetWindowsHookEx
H.Createでいけるだろ。 質問とは直接関係ないけどclass ofのクラス参照型は知ってるよな。
コンストラクタはインスタンス変数に対して使った時はメモリを割り当てないので、別途メモリを確保してからね
var H: THoge; begin H :=nil; GetMem(Pointer(H), SizeOf(H)); H.Create; --------------------------- デバッガ例外が発生 --------------------------- プロジェクト Project1 が EAccessViolation クラスの例外を生成しました。 'モジュール 'Project1.exe' のアドレス 00003204 でアドレス 00003204 に対する読み込み違反がおきました。' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。 --------------------------- OK ヘルプ(H) ---------------------------
>SizeOf(H) 4バイトしか確保できて無いじゃん。
で、どうやってクラス参照しないでサイズを取得するの?
Q DelphiでUNICODEを取り扱えますか?
A WideStringがUNICODEです。AnsiStringとは相互に代入すれば変換されます。
またUTF8との変換等も最近のバージョンであれば用意されています
Q UNICODE文字を画面に表示するには?
A VCLはAnsiで窓が開かれていますのでAnsiに変換して表示するのが簡単です
Q 日本語以外のUNICODE文字を画面に表示するには?
A その文字を表示出来るフォントを指定した上で、TextOutW/DrawTextW で表示出来ます
Windows2000/XPではFONTLINKが設定されているので
ANSI_CHARSET/MS UI Gothicで表示出来ます。
それより古いOSの場合フォントをどこかから入手する必要があります
Q UNICODE文字を入力するテキストBOXが欲しい
A
http://www.tntware.com/delphicontrols/unicode/ を使うのが一つ
TWebBrowserを貼り付けて使うのも簡単でしょう
Q 普通のフォームのタイトルバーだけをUNICODE化したいのだが
A 現在方法を調査中。 ちょっとまってね
>>976 class function TObject.NewInstance: TObject;
というのがメモリだけを確保してくれる
だから
H:= THoge.NewInstance ;でメモリ確保
H.Create; でコンストラクタを呼ぶ
という手順にすればいい。
TApplication.CreateForm がこの方法を使っている
>>978 class function TObject.InstanceSize: Longint;
でサイズは取得出来る。 ただしメモリだけを確保しても
VMTテーブル等が設定されていないと
Createをメソッドとして呼び出せないので注意
あvirtualでなければ呼べるけど
982 :
926 :2006/04/16(日) 13:10:27
>>966 遅レスですがありがとうございます! 挑戦してみます。
クラス参照無しでどうやってインスタンスを作るか、を質問してるのに クラス参照つかってサイズ取得してたら意味ないだろ・・・
てか普通にコンストラクタ呼べばいいしな
誰の子でもいいので私を妊娠させて下さいって事か?
クラスメソッドはインスタンス変数からでも呼べるので、H := H.NewInstance; とかでもいいわけだが。 まあ、普通はやらない。 やるとしたら、CreateFormのような事情があるとか、インスタンスを大量生成する場合メモリを細切れで確保するより固定長配列で取って〜とか。
で、一般になんのクラスの変数かわからないものを渡されたとして、 どうやって、そのインスタンスを作りますか?
メモリ確保を配列的に取りたいなら InstanceSizeメモリ確保 ↓ InitInstance(メモリ) ↓ コンストラクタ
>>972 のHはTHogeってわかるじゃん。
元々クラス参照型みたいな一般的に使える多態は考えて無くて、なんかトリッキーなことしたいだけと思ってたが、違うの?
>>987 一般的には、
なんのクラスの変数かわからないものを渡されてインスタンスをそこから作りたいという事はありません
一般的には
たとえば、GUI上で「複製」という操作をさせたいなら複製というメソッドを作成するのが普通です。
deep copyするならAssign overrideするかRead/WriteComponent使っとけ。
これはひどい
残りカス、ひどすぎ
ここもうダメだなぁ・・・
このスレッドはBorland(ボーランド)のDelphi(デルファイ)について、 他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが、 お礼はDelphiの布教と初心者の救済をお願いします。
残り少ないし、回答者が低レベルすぎるし、このスレ終わり。
>>987 DelphiのクラスはTObjectが幹となっているので、何かのインスタンスが入っているなら
インスタンスのVMTの先頭がClassTypeとなっており
ClassType メソッドで取り出す事が出来るため、何のクラスの変数か判らないという事には絶対になりません
> var > H: THoge; > begin > H :=nil;
procedure TForm1.Button1Click(Sender: TObject); var nc:TControl; begin nc:=(TComponentClass(Sender.ClassType).Create(Self)) as TControl; with nc do begin nc.Parent:=Self; Left :=Left +100; Top :=Top+100; Show; end; end;
Sender が TStringList かもしれないし・・・コンストラクタの形はどうやって 決められますか?
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。