くだすれDelphi(超初心者用)その51
at TECH
1:デフォルトの名無しさん
09/12/01 20:41:37
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。
<前スレ>
くだすれDelphi(超初心者用)その50
スレリンク(tech板)
<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
URLリンク(delwiki.info)
2:デフォルトの名無しさん
09/12/01 20:43:51
<関連スレ>
【Delphi】 Indyコンポーネント 【C++Builder】
スレリンク(tech板)
Delphi初心者のための寺子屋
スレリンク(tech板)
delphiで作った有名ソフトって何があるの?
スレリンク(tech板)
Delphi持ってるならGLSceneを使え
スレリンク(tech板)
【Delphi互換!?】FreePascal【GPL】
スレリンク(tech板)
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】
スレリンク(gamedev板)
Delphiでアクションゲームが作りたい!! Part2
スレリンク(gamedev板)
ネットワークゲーム作成のお勉強(Delphi専用スレ)
スレリンク(gamedev板)
delphiでMMO
スレリンク(gamedev板)
では質問どうぞ。
3:デフォルトの名無しさん
09/12/02 00:39:08
>>1
乙です
4:デフォルトの名無しさん
09/12/02 02:50:09
待ってました 乙〜
5:デフォルトの名無しさん
09/12/02 14:26:09
質問です。
XP SP3 IE8
Delphi6 Personal にて
メインFormにTWebBrowserを張り
WebBrowser1.Navigate('URLリンク(www.ugtop.com)');すると
使用ブラウザに、
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0;
と表示され、IE8の互換モードであると出てきます。
IE8で表示すると、ちゃんと
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;
となります。
TWebBrowserを使うと、互換モードになってしまうみたいですが
IE8モードにするにはどうすれば良いでしょうか。
6:デフォルトの名無しさん
09/12/02 16:14:32
>>5
今までWebBrowserコントロールを使っていたソフトがちゃんと動くように互換モードが規定値になってて、
IE8モードを指定するためには自分のソフトのファイル名をレジストリに登録する必要があるみたい
詳しくはMSDN参照
URLリンク(msdn.microsoft.com)
7:デフォルトの名無しさん
09/12/02 16:17:55
IE8モードは色々と動かないサイトが多すぎる
8:デフォルトの名無しさん
09/12/03 13:35:45
AvastアンチウィルスがDelphi製ソフトの一斉検出祭りらしいぞ!
9:デフォルトの名無しさん
09/12/03 20:39:51
Delphi製以外でも大量誤検知らしい
10:デフォルトの名無しさん
09/12/04 11:29:07
Delphi6 PersonalをWindows7 x64に入れたいんだがインストール出来ない・・・
回避策はありませんか?
11:デフォルトの名無しさん
09/12/04 11:31:56
動かないんならエミュるしかないんじゃね
12:デフォルトの名無しさん
09/12/04 14:15:14
7上のXPで動かせばいいじゃん
13:デフォルトの名無しさん
09/12/05 20:14:45
タイトルバーにアプリケーションの名前と一緒に、
アプリケーションをコンパイルした日付を表示したいのですが、
アプリケーションをコンパイルした日付を取得する方法ってあるのでしょうか?
毎回手作業で入力するのが面倒なので、プログラム的に何か方法が無いかなー?と思ってます。
hogehoge [ver.3.2.1.20091205]
みたいな感じです。
バージョンの取得は出来ているので後は日付だけなのですが…。
どなたかご存知の方よろしくお願いします。m(_ _)m
14:デフォルトの名無しさん
09/12/05 20:22:02
ファイルタイムスタンプからとれば。
15:デフォルトの名無しさん
09/12/05 20:22:19
>>13
ファイルの作成日時を取得すればいいんじゃね?
16:デフォルトの名無しさん
09/12/05 21:05:15
>>14
>>15
レスどーもです!
更新日時を使えばいけそうな気がしてきました。
一つ気になったのは人に配布する時、
一度zipかなんかで圧縮すると思うのですが、
解凍した時のタイムスタンプってどうなるのでしょう?
自分のPCの中にある圧縮解凍ソフトでは
作成日時は変更になるけど更新日時は問題ないみたいですが…
ソフトによって違いってあるのでしょうか?
17:デフォルトの名無しさん
09/12/05 21:15:19
自分なら
version.pas
に文字列リテラル埋め込んでスクリプトで更新するかな。
リリースビルドはコマンドラインからやるようにしているから間にそういうのを挟むのも簡単だし。
実際は日付なんてつけずにバージョン番号のビルド番号の自動更新に任せてるけど。
GExpertだかJEDIだかに__DATE__もどきがあったような気もしたけど忘れた。
18:デフォルトの名無しさん
09/12/06 21:35:39
Delphi2010の体験版のIDEのツールバーがバグってるんですが直す方法ないですか?
具体的には URLリンク(up.ultra-zone.net) みたいな感じで縦に伸びたり
ツールバー同士が重なってしまう状態です。
うろ覚えですが、インストール直後は大きさは普通で一部重なっているだけだったと
思うんですが、使ってるうちにだんだんと大きくなってきてますw
環境はXPSP3+IE8です。
19:デフォルトの名無しさん
09/12/08 09:40:56
>Delphi2010の体験版のIDEのツールバーがバグってる
私も XPSP3/IE8 ですがこのような問題には出会っていません。
記憶では、ツールバーの不具合はビデオドライバが古い場合に出るように思います。
ツールバーを右クリック、カスタマイズダイアログの「戻す」ボタンを、個々のツールバーに対して押していったら
どうなりますか?リセットできるかもしれません
20:デフォルトの名無しさん
09/12/08 10:20:04
>>18
これ見てワンワン
URLリンク(andy.jgknet.de)
治るかも
21:デフォルトの名無しさん
09/12/08 17:21:26
Win7にDel7インスコできるのかな?
以降、自分で試せは無しの方向で
22:デフォルトの名無しさん
09/12/08 19:26:34
自分の手で試せ
23:デフォルトの名無しさん
09/12/08 21:19:44
>>19,20
ありがとうございます、一応自己解決できましたので報告です。
修復インストールとか色々試したんですが、レジストリを弄ってなんとか直りました。
HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\Toolbars
のキーの中身を全部消したら大きさは元に戻りましたが、重なるのは相変わらずみたいです…
多分、一時凌ぎで根本的な解決にはなってないと思うのでビデオドライバの更新やパッチ当て
等もやってみようと思います。
D7から乗り換えの評価目的で入れて10日位ですが、なんか相変わらずバギーなIDEだなぁと言う印象
VSみたいにモッサリしてないのはいいんですけどね
ただ、言語仕様の拡張は結構魅力的なんですよね
24:デフォルトの名無しさん
09/12/08 21:26:09
コード補完がもっさりしてるんだよなぁ。頻繁に使うだけあって、気になる。
25:デフォルトの名無しさん
09/12/09 03:32:58
>23
ビデオ系ハードウェアの情報とかが無いと、これ以上は分かりませんね
ただ5年くらい前ならしも、最近はツールバーがらみのバグを聞いたことは無いので
かなりレアケースなのでは。とも思います。
画像とハード/ソフトウェア情報込みで、Embarcadero 本家フォーラムに投稿してみたら?
URLリンク(forums.embarcadero.com)
26:デフォルトの名無しさん
09/12/14 17:07:50
開発環境はDelphi6で使用データベースはInterBaseです。
伝票入力画面にて得意先参照フォームを表示して得意先コードを設定しています。
伝票登録後、前回選択した得意先を選択状態にするためにLocateを使用して得意先参照フォームを表示しています。
得意先コードが得意先参照フォーム内のDBGridに表示されている場合はうまくいくのですが(例:得意先コードが
1から35でDBGridの表示行数が12行の場合で前回選択得意先コードが10の場合)、
DBGridから隠れている部分の場合(例:得意先コードが14)、「グリッドインデックスが範囲を超えています。]という
エラーメッセージが表示されます。
そのときDBGridの最終行には空のレコードが追加されています。Locateの戻り値はTrueです。
Googleで検索した結果、フォームのOnShowイベントにてDBGrid1.DataSource := DataSource1;
という記述をすればいいという検索結果がありましたので、試してみましたが効果はありませんでした。
なにがよい対処法はあるのでしょうか。よろしくお願いします。
(読みづらい文章ですみません。)
27:デフォルトの名無しさん
09/12/14 17:51:33
こういうの見ていつも思うんだが、読みづらい文章だと自分で気付いてるなら
免罪符みたいに「読みづらい文章ですみません」なんて書かずに直せよ
28:デフォルトの名無しさん
09/12/14 17:58:57
>>26
えーとなんだっけ?
delphiやめて5年ぐらいたつけどたしかbookmark系の処理で幸せになれるはず
29:デフォルトの名無しさん
09/12/15 13:29:36
ちょっと特殊な環境なんですけど、英語版のWinXP(職場)と日本語版のVista(自宅)で、
ソースを持ってきたり帰ったりしながら開発しています。Delphiは7の英語版です。
それぞれ、新規にプロジェクトを作成して、TLabel等のCaptionに日本語を入力すると、
問題なく日本語で表示されるのですが、このソースをそのままもう片方のPCに持ってきて、
プロジェクトを開くと、Captionが文字化けしてしまいます。
ちなみに、dfmファイルを通常のテキストエディタで開くと、
object Button1: TButton
省略
Caption = #381#192#141's'
省略
end
このような感じになっています。
Delphiでフォームをテキストで表示した場合は、
object Button1: TButton
省略
Caption = '実行'
省略
end
このように文字化けせずに表示されます。
現状は、フォームをテキストで表示しクリップボードにコピーして、それをテキストエディタで
貼り付けて持って帰るようにしているのですが、大変面倒です。
何か良い解決方法はありますでしょうか。
30:デフォルトの名無しさん
09/12/15 13:39:17
ん?何がしたいの?
文字化けはParent(Form側)のエンコードを固定させればいいだけな気がするけど
31:デフォルトの名無しさん
09/12/15 13:50:23
>>30
フォームのフォントの文字セットはどちらの環境でも日本語になっています。
エンコードって、どこか別のところで設定できるのですか?
32:デフォルトの名無しさん
09/12/15 14:01:24
使った事ないけどこういうの使うとか
URLリンク(www.geocities.jp)
33:デフォルトの名無しさん
09/12/15 14:23:13
>>32
すみません。これで解決するような問題ではないような気がします。
どちらもDelphi7ですし…
34:デフォルトの名無しさん
09/12/15 14:28:47
>>33
それで解決するからやってみろ
ったくしょうがねぇな
これも提示してやるから後は自分でやれ
URLリンク(homepage1.nifty.com)
35:デフォルトの名無しさん
09/12/15 15:00:20
procedure TForm1.Button1Click(Sender: TObject);
begin
IdHttp1.Request.ContentRangeStart := 100;
memo1.Lines.Text := IdHttp1.Get(edit1.Text);
end;
とやっても指定した位置から読み込みできないのですがどのようにすればいいのでしょうか?
現象としてはHTMLの先頭から表示されてしまいます。
環境はDelphi7 + Indy10.0.52です
どなたかわかる方よろしくお願いします。
36:デフォルトの名無しさん
09/12/15 15:12:37
まずはリクエストヘッダを確認
Content-Range: bytes 100-/ほにゃらら
みたいになってるか?
なってないならカスタムヘッダつけろ
なってるならレスポンスコードを確認しろ
206以外が来たら鯖が対応してねぇ
つーかdelphi使ってもないのに何で俺しかいねぇんだよw
37:デフォルトの名無しさん
09/12/15 15:27:43
>>36
うおーありがとうございます
リクエストヘッダ見たら付いてなかったのでカスタムヘッダ付けてみました
見事に成功しました感謝です
38:デフォルトの名無しさん
09/12/15 15:31:24
>>34
どちらもDelphi 7なんですが、どういう事??
どう設定すればいいんですか?
39:デフォルトの名無しさん
09/12/15 16:22:36
バイナリDFMにしたら?
40:デフォルトの名無しさん
09/12/19 02:54:07
DBGridの仕様の問題でしょ。エラー出るならtryでトラップすればいい
41:デフォルトの名無しさん
09/12/20 18:21:33
del7のコンソールアプリでたまに
---------------------------
test.exe - アプリケーション エラー
---------------------------
アプリケーションを正しく初期化できませんでした (0xc0000142)。[OK] をクリックしてアプリケーションを終了してください。
---------------------------
OK
---------------------------
というエラーが出るんだけどこれってunitのinitialization〜メインブロックより前の段階で出るメッセージ?
42:デフォルトの名無しさん
09/12/20 23:03:47
ブレークポイント張ってみればいいじゃない
43:デフォルトの名無しさん
09/12/21 06:09:30
OS が出す、.exe ローダーのエラーなので普通の人はブレークポイントは置けない。
エラーメッセージの英語版は
"Application failed to initalize properly (0xc0000142)"
URLリンク(systemwalker.fujitsu.com)
URLリンク(www.tomshardware.com)
あたりをみるに、システムの DLL の初期化に失敗。
「たまに」でるエラー。ということから
デスクトップヒープが足りない。ということかな。
もしそうだとしたら
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
あたりを調整する必要がある。
まず、イベントビューアで OS のログを確認してみたら?
44:デフォルトの名無しさん
09/12/21 12:32:04
そこまで言うならお前がやってよ
45:デフォルトの名無しさん
09/12/21 15:40:44
初心者ってコンソールアプリ作りたがるけどコンソールのほうがデバッグ面倒臭そう
46:デフォルトの名無しさん
09/12/21 17:57:13
>デバッグ面倒臭そう
そんなことはありませんよ
47:デフォルトの名無しさん
09/12/24 22:45:10
FreePascal/Lazarus のスレは結局消滅して終わりか?
48:デフォルトの名無しさん
09/12/26 23:55:38
Delphiで構造体を引数にとるDLLを作って、VC++から呼び出そうとおもったんですが、値の渡し方としては
void func1( TRec* rec );
void func2( TRec& rec );
のように参照渡し、ポインタ渡し、どちらのほうがいいんでしょうか?
49:デフォルトの名無しさん
09/12/27 00:40:54
どっちでもいいが、NULLあるいはnilを渡したいときもあるだろうからポインタがおすすめ
50:デフォルトの名無しさん
09/12/27 16:47:26
>>49
ありがとうございます。ポインタ渡しでいこうと思います
51:デフォルトの名無しさん
10/01/03 02:32:26
すみません教えてください
日経ソフトウエアのTurboDelphiで始めるWindowsプログラムの本で
ジャンケンプログラムでラジオグループのイベントハンドラを作ろうとすると
エラーが出て作れません。
対策はあるでしょうか?
よろしくお願いいたします。
52:デフォルトの名無しさん
10/01/03 02:34:41
エスパーさんは今休みじゃないかな?
53:51
10/01/03 03:41:33
使ってるバージョンはDelphi2010です。
よろしくお願いいたします。
54:デフォルトの名無しさん
10/01/03 04:12:48
ソースぐらいうpしろksg
55:デフォルトの名無しさん
10/01/03 04:42:53
宣言部分無しで実装部分だけ書いちゃったんじゃないかとエスパーしてみる
とりあえずエラー出たならエラー内容も書こうよksg
56:51
10/01/03 08:49:41
すみませんでした。
ジャンケンプログラムを入力してコンパイルすると、
本には書いてませんが、セミコロンが必要と表示されて
コンパイルすることができません。
57:デフォルトの名無しさん
10/01/03 09:28:51
(´ρ`)そうなのかー
58:デフォルトの名無しさん
10/01/03 09:30:12
( ゚д゚ )そうなんすか!
59:51
10/01/03 09:37:57
すいません自己解決しました。
お騒がせいたしました。
60:デフォルトの名無しさん
10/01/04 00:08:23
メモ帳を編集中にF2キーを押したら自前アプリで音を鳴らす という動作をするアプリを自作したいんですが
ぐぐってもくそ難しいページしか出てきません。
他アプリにフォーカスがある状態でキーイベントが発生したらそれを取得するサンプルコード下さい。
明日の朝までに欲しいので早くしてくれ。
間に合わなくなっても知らんぞ?
61:デフォルトの名無しさん
10/01/04 00:14:09
ああ、ガムやるよ
62:60
10/01/04 02:21:17
というかソース貼られてもわかんねぇからもういいや。ソース貼りたい奴はここ見ろ。
URLリンク(www2.biglobe.ne.jp)
>>61
くっちゃくっちゃくっちゃ・・・・ぺっ
63:デフォルトの名無しさん
10/01/04 04:32:43
結局何が言いたいんだ?
64:60
10/01/04 04:44:15
>>63
質問取り消しな。俺には無理だ。
65:60
10/01/04 05:31:20
もう見に来ないから売買
66:デフォルトの名無しさん
10/01/04 17:04:55
delphi2010で、コード整形について質問です。
if then begin
1
end else begin
2
end;
のように、endとelseのあいだに改行の入らないようにしたいのです。
67:デフォルトの名無しさん
10/01/04 17:13:25
>>66
URLリンク(edn.embarcadero.com)
うそん。(><)
// INCORRECT
end else begin
// CORRECT
end
else
begin
おじさん泣いちゃうぞ。
68:デフォルトの名無しさん
10/01/04 20:01:25
>>66
delphi2010でそれできなくなったの?
69:66
10/01/04 20:35:09
>>68
いままでのdel5しか使ったこと無かったので、ソースの整形は初めてですわ。
end else
begin
みたく、elseとbeginのあいだの改行がどう設定しても取れなくて。
前からそうだったのかな?
70:デフォルトの名無しさん
10/01/04 21:08:42
>>69
俺の使ったことある物の記憶ではdelphi6,7,2007,2009はそんなことなかったと思う
俺も同じ書き方だからそれは不便だなー
71:デフォルトの名無しさん
10/01/04 22:28:09
Delphi2010のエディタで、コメント等日本語を入力していると
時々バグって(文字化けみたくなる)落ちるのは、うちだけでしょうか?
72:デフォルトの名無しさん
10/01/04 23:32:11
落ちるのは無いけど、コメント削除中とかにカーソルが変なとこ飛んで文字化けになるのはたまに起きる
73:デフォルトの名無しさん
10/01/05 23:07:53
>>72
おおよそ、同じような現象だと思います。
コメントの途中で挿入したり消したりしてると、
変なところで改行されたり文字化けしたり。
最新アップデートでも直ってなかったので
諦めるしかないかな…
74:デフォルトの名無しさん
10/01/06 07:21:02
あきらめられても。ねぇ。
再現できるデータとか何か無いかな。> エディタ周りバグ
75:デフォルトの名無しさん
10/01/06 07:21:51
化けた直後の画面とかだけでも有れば助けになるかとおもう。
76:デフォルトの名無しさん
10/01/06 17:56:21
つ キーロガー
でも、うちはIDEfix入れてるからかわからんけど
そいうことないなぁ。
77:デフォルトの名無しさん
10/01/07 17:37:32
用語の使い方が良く分からないので難解なところはエスパーしてください。
Application.CreateForm(TForm2, Form2);
これを、ですね。
procedure TEST00(h:TComponentClass; f:TForm)
begin
Application.CreateForm(h, f);
end;
な感じにフォームを引数にした関数にして
TEST00(TForm2, Form2);
みたいな呼び出し方をすることはできませんか。
ちなみに上のやり方はペケです。
コンパイルはとおりますけど、実行すると激しく長いエラー文で怒られます。
78:デフォルトの名無しさん
10/01/07 17:52:53
動作確認済み。
procedure test(InstanceClass: TComponentClass; var Reference);
begin
Application.CreateForm(InstanceClass, Reference);
end;
第二引数に Var がついていないので
TEST00(TForm2, Form2);
の呼び出しで Form2 の内容が更新されないことが、実行時エラーの直接の原因です
79:デフォルトの名無しさん
10/01/07 18:12:49
動きます、たしかに。
これで朝から夕方まで悩んでました。
ありがとうございました。
80:デフォルトの名無しさん
10/01/07 20:35:58
それをやる意味にすごく興味があるんだけど、
なぜそんなことをしようと思ったの?
81:71
10/01/07 22:28:18
来週開発環境がXP→7になるのでそれで直るかもしれないし
まあいいやと思いつつ、参考までにエディタが文字化けした
ときの画像を貼っておきます(モザイクの箇所はすべて正常です)。
ブレークポイントが張られていますが、これも私が張ったのではなく、
エラー発生時に勝手にこうなります。
URLリンク(convini.ddo.jp)
日本語部分の途中で挿入や削除をしようとすると
発生する気はします。IME(MS-IME2003)との
相性とかでしょうか…。
URLリンク(andy.jgknet.de)
に置いてあったIDE Fixも当ててみましたが、変わらずでした。
82:デフォルトの名無しさん
10/01/08 04:41:55
文字列入力中に文字化けが起きて
勝手にブレークポイントのマークが付く。と。
メモリ上のエディタバッファが壊れているように見えますね。
ここまでひどいとバグレポートが他にも有っても良いような.....
83:デフォルトの名無しさん
10/01/08 09:59:10
あの超つかいにくいエディタを使っている人っているんだね。
基本的に日本語処理部分は十分なテストは行われていないから
避けられるものなら、避けた方が無難。
使い慣れた外部エディタ使えば問題は一気に解決。
Indyの日本語処理もひどかったなぁ。
84:デフォルトの名無しさん
10/01/08 11:02:37
>Indyの日本語処理もひどかったなぁ。
Indy に関しては、あきらめずに、バグレポートを送り続けるしかないでしょう。
85:72
10/01/08 17:01:34
>>81
うちではATOK使ってそうなってるから、IMEとの相性はあまり関係ないかも
何となくだけど、2バイト文字の片方のバイトだけ削除したりして化けてる気がする
あとブレークポイントが勝手に張られたことはないなぁ
86:デフォルトの名無しさん
10/01/08 18:56:24
>>80
えと、ですね。
職場用のアプリを作っているんですが、いくつものアプリ(プロジェクト?)
に分けなきゃならないほど、いっぱいフォームがあって、ついでに似たような
処理のフォームがやけにいっぱいあるので、その処理をどこかにまとめて書いて
おけないかなと(「フォームを開く」ってのもその似たような処理のひとつ)
87:デフォルトの名無しさん
10/01/09 23:25:17
>>86
TFrameとか使うのかも知れない
88:デフォルトの名無しさん
10/01/10 05:48:30
>>86
それだとちょっとおかしくないかな?
あの処理はフォームを「開く」処理じゃなくてフォームを「作る」処理だよ
そもそもApplication.CreateFormは自分で呼ぶことはあまりない関数だし
89:デフォルトの名無しさん
10/01/10 08:48:58
何でそんなところに絡みたがるのかがよくわからん
90:デフォルトの名無しさん
10/01/10 11:33:17
無料のdelphiって無いですか?
昔personal6ってのがあったのですが・・・
91:デフォルトの名無しさん
10/01/10 11:40:02
Turbo Delphi Explorerってのがあったけどそれもなくなった。
今あるのは期間限定のトライアルのみ。
新会社の方針として完全にアマチュアそっちのけになったのだろう。
某が潰れる前にDel6Per認証解除パッチでも出してくれればよかったのに。
92:デフォルトの名無しさん
10/01/10 12:10:38
ボーランド終わったな
93:デフォルトの名無しさん
10/01/10 13:06:54
もうとっくにEmbarcaderoに身売り済みですが
94:デフォルトの名無しさん
10/01/10 15:10:16
del6personalって認証しないでも一応使えるぞ
いいのか悪いのか別としてw
95:デフォルトの名無しさん
10/01/10 15:25:13
そもそもダウンロード出来るところがなくなっちゃった
96:デフォルトの名無しさん
10/01/10 15:28:01
どっかの大学がサイトに置いて無かったっけ
97:デフォルトの名無しさん
10/01/10 15:30:39
もう無いよ
98:デフォルトの名無しさん
10/01/10 16:14:27
CodeGearからダウンロードしたのがあったなと思って、
ディスクのなかを探してみたら
Turbo Pascal 3.0
が出てきた。なつかしい・・・・
99:デフォルトの名無しさん
10/01/10 16:18:01
delphi6personalとturbodelphiどっちもあるけど再配布とかしたらウルサイこと言われんのかな?
100:デフォルトの名無しさん
10/01/10 16:45:21
俺は言わないよ
101:デフォルトの名無しさん
10/01/10 16:52:02
そういえば大学の図書館のdelphi6の本で付属CD-ROMに入ってたぞpersonal
大きい図書館で探せばあるかもね
102:デフォルトの名無しさん
10/01/10 18:42:38
>>88
おかしいと言われ、もしかしてと不安になって、ちょっとだけ実験。
ああやっぱりとショック受けてます。
フォームは全部visible、起動時クリエイトはform1だけにしてました
作業を始めたとき、かなりの数のフォームになりそうだってことで
起動時の一気生成は絶対無茶だって思ったんです。
でもけっきょく分割しなきゃならなくなり、一アプリあたりのフォーム数はせいぜい10.
10個の一気生成ってのもそれはそれは不安を誘いますけど
メインフォーム以外のクリエイト時プロシージャをコメントアウトしたうえ
実験してみたら、まったくどうってことありませんでした。
(起動時間もメモリ消費も違いがなさ過ぎて唖然)
書き直したほうがいいですか?
>>87
助言ありがとうございます
落ち着いたら調べてみます(いまかなりあせってる)
103:デフォルトの名無しさん
10/01/10 21:23:12
turboはあるから6が欲しいなぁ
104:デフォルトの名無しさん
10/01/10 23:05:37
>>102
10個程度は全然大した数じゃないよ
例え100個作ってもOnCreate内の処理(時間)が少しだけならほとんど変わらない
素直にIDEが自動生成したコードでフォーム作ればOKだと思う
105:デフォルトの名無しさん
10/01/11 00:44:12
基本となるフォームひとつだけ作って、条件ごとに変化するようにすればいい
似たようなフォームをたくさん作るなんてアホすぎる・・・
106:デフォルトの名無しさん
10/01/11 11:49:08
とりあえず10個のフォームにどんな違いがあるのかさらしたら?
些細なものならCreate時に対応
何せ基本はいるときに作って使ったらすぐに消すことだよ
107:デフォルトの名無しさん
10/01/11 18:30:14
>>条件ごとに変化するようにすればいい
ごめんなさい、そのやりかたは、何ていうかイヤなんです。
使っているうちに機能追加が出てくるのは分かりきっているので。
複雑になりすぎてわけわかんなくなります(前にMSAccsessで痛い目にあってる)
>>10個のフォームにどんな違いがあるのかさらしたら
10個ってのは似てる物の数じゃないです。アプリを分割して一アプリあたり
それぐらいにとどめようかなと。
最終的にいくになるかは分かりません。
ところで
>>基本はいるときに作って使ったらすぐに消すことだよ
これは、フォームの立ち上げ方のことですか。
Show,Hideじゃなく、Create,Releaseでもいいと?
だとすると助かるんですけど(書き直そうと思ってた、というかすでに一部
書き直しに入って早くも泥沼)
108:デフォルトの名無しさん
10/01/11 19:26:30
VBプログラマぽい考え方だねw AccessでVBAやってたんでしょ
109:デフォルトの名無しさん
10/01/11 19:36:28
はい
というかちょっと前まではそれしかいじったことがないです。
プログラマなんてものではないです。
110:デフォルトの名無しさん
10/01/11 20:30:05
>>>基本はいるときに作って使ったらすぐに消すことだよ?
>これは、フォームの立ち上げ方のことですか。
俺も基本は必要になったら、フォームをCreateしていらなくなったらRelease。
111:デフォルトの名無しさん
10/01/11 22:02:14
なんとなくだけど「はい・いいえ・キャンセル」程度のダイアログもフォームで自作してそうだなw
112:デフォルトの名無しさん
10/01/12 13:50:38
delphi 6 personal見つけてインスコしたけど
special launchのソース読み込むと
txpmanifestが見つかりません。とかエラーが出るおorz
113:デフォルトの名無しさん
10/01/12 13:52:15
personalにXPManifestはなかった筈
114:デフォルトの名無しさん
10/01/12 14:30:01
personalかどうかは関係ないだろ
そもそも6には存在しないんだから
115:デフォルトの名無しさん
10/01/12 14:32:29
そうだった勘違いしてた
116:デフォルトの名無しさん
10/01/12 14:38:12
えー
special launchって6じゃないのかorz
117:デフォルトの名無しさん
10/01/12 15:45:13
delphi 7ください!
118:デフォルトの名無しさん
10/01/12 15:53:41
>>111
版権物のソフトだと全部のダイアログにイラスト出せとか無理言われる
119:デフォルトの名無しさん
10/01/12 19:42:35
>>118
その程度ならいちいちフォームを設計しなくても、CreateMessageDialogで取得したTFormのインスタンスに
動的にTImage等を作成して乗っけてやればいい
むしろ全部に出さないといけないならコードでやった方が楽
120:デフォルトの名無しさん
10/01/12 21:45:50
SetLengthで確保した領域は次回SetLengthの時に勝手に解放してくれますか?
121:デフォルトの名無しさん
10/01/12 23:08:24
やってみれば分かるが解放される
122:デフォルトの名無しさん
10/01/13 02:41:37
>>120
ソースが見れるならSystem.pasの該当箇所を見ればSetLengthが内部では何やってるか分かる
123:デフォルトの名無しさん
10/01/13 02:44:31
ソースは読めるのにスレタイは読めないのか
124:デフォルトの名無しさん
10/01/13 03:20:57
>>121>>122
ありがとうございます
system.pas覗いてみますわ
125:デフォルトの名無しさん
10/01/13 11:29:02
del7で簡単なCGIを作りたくてdelを使ったCGI作成は
ググって大体分かったのですが、フォームの内容を
メール送信する時ってどうすればいいか、教えてください。
sendmaneとか見つけたのですが、利用制限があるので
(個人使用なので引っかかることはないのですが)
出来れば制限のない方法があれば教えて欲しいです。
よろしくお願いします。
126:デフォルトの名無しさん
10/01/13 11:45:51
普通にindy使えばよくね?
127:デフォルトの名無しさん
10/01/13 12:05:34
dです。
Indyスレ行ってきます。
128:デフォルトの名無しさん
10/01/14 22:01:40
indyは正直使えない
129:デフォルトの名無しさん
10/01/14 23:26:35
わけでもない
130:デフォルトの名無しさん
10/01/14 23:42:18
男は黙って
131:デフォルトの名無しさん
10/01/15 00:04:48
indy
132:デフォルトの名無しさん
10/01/15 07:53:00
TIdMessageは腐っているが
それ以外は、まあまあ使える
133:デフォルトの名無しさん
10/01/15 08:31:16
Synapse最高!
134:デフォルトの名無しさん
10/01/15 11:08:43
メールくらいソケット通信でやればよし
135:デフォルトの名無しさん
10/01/15 13:11:36
というわけでもない
136:デフォルトの名無しさん
10/01/15 21:19:11
匿名関数をWin32APIのコールバックとして渡すことは可能でしょうか?
例えば次のようなことがしたいです
EnumWindows(
function(hwnd: HWND; lParam: LPARAM): BOOL
begin
// 処理
end, 0
);
MakeObjectInstanceのようなものがあればよいのですが…。
バージョンは2010です。
137:デフォルトの名無しさん
10/01/16 18:18:21
これから試してみるけど
全力わはー
URLリンク(d.hatena.ne.jp)
これが参考になるだろうか。
138:デフォルトの名無しさん
10/01/16 18:44:49
無名関数に STDCALL つけられないから、コールバックにはそのままでは使えないな。
139:デフォルトの名無しさん
10/01/18 01:04:17
>>138
俺、delphi2010使ってないからよく分かんないけど、できたのかな?
URLリンク(d.hatena.ne.jp)
ってゆうかもしかして、本人様?
140:デフォルトの名無しさん
10/01/18 01:14:18
stdcallを指定してもまだコールバックとしては使えないみたいですね…。
141:デフォルトの名無しさん
10/01/18 08:17:12
stdcall 指定した無名関数から、関数のポインタだけを取り出す。
無名関数が親関数が終了するまで存在し続ける
この二つを実装、確認しないといけないですね
もう少し時間が必要です
142:デフォルトの名無しさん
10/01/18 14:43:06
>>137
2010持ってないから何やってるのかわからないんだけど、これってすごいの?
143:デフォルトの名無しさん
10/01/18 15:06:53
すごいっていうかもうlambdaはあって当たり前の機能
144:デフォルトの名無しさん
10/01/18 17:38:44
TStringListのCustomSortに無名関数が渡せない俺
145:デフォルトの名無しさん
10/01/18 23:03:13
Delphi 2010についてるQA検査を何となく使ってみたところ、
parameter 'XX' でCamel記法を使用、というのが警告の対象になったんですが、
Camel記法ってDelphiの推奨の命名法じゃなかったでしたっけ。
サンプルコードも大体Camelになってますし。
試しに変数名を小文字開始にしたら、警告対象外にはなったんですが。
新しめのコーディング規約とか、どこかにまとまってますか?
146:デフォルトの名無しさん
10/01/18 23:13:52
Pascalは昔からPascal記法だろ
言語名が記法の名前になってるくらいで新しくも何ともない
まとめ探す前に基本を勉強し直してこい
147:145
10/01/18 23:24:02
>>146
あぁ。camelっていうと先頭小文字を呼び分けるときにも使うんでしたっけ。
引数をPascal記法(InfixCaps、先頭大文字、単語の頭大文字)で記述しているにもかかわらず、
QA検査にかけると、「parameter 'XX' でCamel記法を使用」という警告が出てきて、
引数の頭文字が大文字なのは普通だろ、なんで警告出すんだ、と思ったので、
まさかどこかで推奨の命名法が先頭小文字に変わった? と思って質問した次第です。
「昔からPascal」なのは知ってるので、それで警告出されて不思議に思ったってことですね。
148:デフォルトの名無しさん
10/01/18 23:38:48
プログラミングでcamelっていったら普通はlower camel caseを指すと思うが
149:デフォルトの名無しさん
10/01/18 23:46:12
>>147
検査項目をクリックする時間の方がここで回答を待つ時間より早いと思いませんか?
150:デフォルトの名無しさん
10/01/19 00:45:45
>>147
試してみたら確かに警告出たが、そもそもこんな機能あることすら知らなかったぞ
[Camel記法を使用]って、使用しろ、なのか使用しているから警告、なのかこの日本語だと分からんな
>>149
警告の内容が妥当かどうかの質問なんじゃないのか?
警告が出たのに意味も分からずにOffにするってのはナンセンスだと思うが。
しかし警告自体がナンセンスだからOffにしとけ>>147
Javaとかだとcamelっていうと大体lowerを指すけれど、
DelphiでCamelっていうとUpperだと思ってる俺って古いのかな。
URLリンク(edn.embarcadero.com)
古いドキュメントだが、これにもThis is known as InfixCaps, or Camel Caps.
って書いてあるんだよな。
最近読んだものだと、cakephpとかのマニュアルもupperを単にcamelって書いてあった気がする。
影響力だか呼び分けだかでlower > upperなのは同意
151:デフォルトの名無しさん
10/01/19 03:02:11
PByteArrayの長さを取得するにはどうすればいいでしょうか。
Lengthは文字列しか受け付けてくれないみたいで……
152:デフォルトの名無しさん
10/01/19 03:04:37
それは質問自体が破綻している。
ソースで示さないとわからない。
153:デフォルトの名無しさん
10/01/19 03:41:49
Length(PByteArray)みたいな形で一発取得出来る関数があるものとばかり思い込んでいました。恥ずかしい
ソースで示さないとということは、中身に合わせて一桁ずつ中身があるかどうかを確認してカウントしないといけない、
ということでよろしいでしょうか?
Delphi全然慣れていないので型周りの把握が全然です。
154:デフォルトの名無しさん
10/01/19 04:04:33
慣れてないならPByteArrayは尚更使用すべきじゃないと思う
>>152のいうようにまずどういう状態かソースで示せ
155:デフォルトの名無しさん
10/01/19 10:03:53
Byteは0〜255の何を入れても構わないので「中身があるかどうかの確認」なんてやりようがない。
PByteArrayが何を指しているのかわからないので、サイズを一般的に求める方法はない。
だからみなさんがソースを出せと言ってる。
文字列や配列でLengthが使えるのは、内部的にサイズを記録してあるから。
156:デフォルトの名無しさん
10/01/19 10:40:14
くだすれだし、もう少し優しい言い方でも良いかなぁ。とおもいつつ。
Length (組み込み)関数が使えるのは「長い文字列型 (AnsiString, WideString, UnicodeString)」 と
「動的配列 (array of 〜)」です。
PByteArray の定義上の型は 「TByteArray へのポインタ」で
TByteArray は Byte 型の「静的」配列となっています。
この TByteArray型は動的配列が Delphi 言語に導入される前に使われていた、長さ不定の Byte 配列を
参照するための便宜的な型です。範囲チェックをオフにすることで任意のインデックスの場所を参照できました。
もちろん配列の領域確保と正しい場所へのアクセスはプログラム自身が保証する必要があります
現在は動的配列が導入されたため、領域確保に関しては動的配列を使えば解決できます。
Length または High を使えば実行時に配列の大きさを知ることもできます。
PByteArray 型は、キャストすることによって任意のポインタを Byte の配列として扱えるため
動的配列が導入された後もよく使われます。
PByteArray 型単体では、単なるポインタなのでコンパイラも(回答者も)それ以上のことは何も判りません。
PByteArray 型の指す実体が、何によって確保されているかによって、その実体の大きさを取得する方法は異なります。
PByteArray 型として格納されているポインタが不定なのであれば、そのポインタの指す「何か」の大きさを
知る方法は、まずありません。設計から見直しましょう。
157:デフォルトの名無しさん
10/01/19 12:42:04
あの、、、そんなこと長々と言われても分からないので。。。。
慣れてないって言ってるでしょう。。。
158:デフォルトの名無しさん
10/01/19 14:37:34
Delphi6 personalを使用しています
IDEでファイルを複数開いていて、IDEを再起動したとき
ファイルが1つしか開いてない状態になるんですが、
ファイルが複数開いたまま起動するにはどうしたらいいでしょうか?
159:デフォルトの名無しさん
10/01/19 14:57:04
D7なのでD6とはメニューの名前は違うかもしれないけど
ツール→環境オプション→設定タブ
自動保存の設定 内の プロジェクトデスクトップ にチェック
160:158
10/01/19 17:03:24
>>159
できました、ありがとうございます
161:デフォルトの名無しさん
10/01/21 16:08:30
そうそう それぐらいの答えやすい質問をしろ ポインタ配列なんか難しくてわかんないから
162:デフォルトの名無しさん
10/01/21 17:19:01
知らないならレスしないでいいです >161
163:デフォルトの名無しさん
10/01/21 17:24:53
>>161の頭を初期化しようとしたのですが、
「回復不能なエラーです」
という表示が出て初期化できません。
これはバグでしょうか?
164:デフォルトの名無しさん
10/01/21 18:25:57
初期化ではなくFreeAndNilをご利用ください。
165:デフォルトの名無しさん
10/01/21 18:30:14
>>162
間違ってるぞお前
正しくは「知らないならレスしないでください。ウザイだけです。」だ
166:デフォルトの名無しさん
10/01/21 19:17:26
わかりました。
>>165
知らないならレスしないでください。ウザイだけです。
167:151
10/01/21 22:56:51
>>154-155
メモリ確保したり解放したりガチャガチャやっているので、PByteArrayを使っています。
Delphi内部で扱う分には出来るだけ安全な型で処理したいものですが、
DLLファイルでポインタを受けたり投げたりもしているので、その辺りはポインタを生で扱っています。
はっきり把握出来ている部分だと速度の為に直接メモリ弄ったりビット演算したりもするんですけれど……。
>>156
どうもありがとうございます。別で長さを管理して、ポインタ代入時やデータ更新時に併せて更新するように書き直しました。
少しDelphiにも慣れてきたのでテストコード一杯書きながら色々確認しています。
答えて貰えるだけでもありがたいですし、ソースを出せ、というのもわざわざ確認してくれようという思いからでしょうし、
ありがたい限りです。どうもありがとうございます。
しかしくだすれでも偽物って沸くんですね……。回答遅くなった私が悪いのか。
168:デフォルトの名無しさん
10/01/21 23:35:26
分かってるのに聞いたの?
タチ悪いね
169:デフォルトの名無しさん
10/01/22 03:46:38
はいはい。素直に負けをみとめろや > 168
>くだすれでも偽物って沸く
2ch ですから。必要に応じてトリップ使いましょう
170:デフォルトの名無しさん
10/01/22 10:11:16
Delphi2010でCtrl+Dを押すとコードが整形されてしまうので
これを抑止したいのですが可能でしょうか?
あるいは、コードフォーマッタの設定で、
{$REGION 'ほにゃ'}
{$ENDREGION}
の前後に空行を入れる設定はあるでしょうか?
どちらかできればよいのですが…
171:デフォルトの名無しさん
10/01/22 10:51:28
リファクタリングのショートカットの Ctrl-D を抑止することはできません。
{$REGION を含むコメントの前後に空白を入れる機能はありません
Ctrl-D に関しては、カスタム拡張モジュールを作成できれば抑制できるかもしれません。
コードフォーマッターそのものを停止して良いのであれば
bin\Embarcadero.Modeling.Formatter.dll
を別の名前にリネームして再起動すれば Ctrl-D のキーアサインごと消えて無くなります。
レジストリでコントロールできない。のかな?だれか知ってるひといないかな?
172:170
10/01/22 11:40:17
>>171
ありがとうございます。
フォーマッタ自体を使えなくしたかったので、
DLLのリネームで事足りました。
Ctrl+SとかCtrl+Cを押し間違えたとき勝手に
整形されるのでイライラしておりました。
173:デフォルトの名無しさん
10/01/22 12:59:56
>>169
厨ってすぐに勝ち負けとか言い出すよね
何かトラウマでもあるのかな?かわいそう
174:デフォルトの名無しさん
10/01/22 14:00:13
64bitのバイナリ出力できるようになるのは次のバージョンからですか?
175:デフォルトの名無しさん
10/01/22 15:31:21
>>174
迷子ですか?新スレ立ってますよ
スレリンク(tech板)
176:デフォルトの名無しさん
10/01/24 22:58:15
ポップアップメニューを表示してそれを選ぶなりキャンセルするなりしたら即終了する
フォームを一切出さないフォームアプリってどうやって作ればいいんですか?
177:名無し募集中。。。
10/01/24 23:30:35
メインウィンドウ非表示&スプラッシュウィンドウで
178:デフォルトの名無しさん
10/01/25 15:09:59
ポップアップ出すだけなら、非表示どころかそもそも作る必要すらない
スプラッシュウィンドウも然り
TPopupMenuとTMenuItemを動的生成するだけでいい
179:デフォルトの名無しさん
10/01/29 19:48:25
DMonkeyってやたらexeのサイズが大きくなるけど
マイナーな機能取っ払ってサイズを劇的に小さくする技ってないの?
180:デフォルトの名無しさん
10/01/30 03:00:37
あの程度のサイズ増加を気にするのはお前だけ
181:デフォルトの名無しさん
10/01/31 06:57:17
>>179
あるよ
182:デフォルトの名無しさん
10/02/01 15:02:08
>>179
ないよ
183:デフォルトの名無しさん
10/02/01 23:30:50
>>99
TurboDelphiお願いします
184:デフォルトの名無しさん
10/02/02 01:25:39
いくら出せますか?
185:デフォルトの名無しさん
10/02/02 02:31:12
>>183
URLリンク(turbomirror.com)
他にもググればいくらでも出てくる
186:デフォルトの名無しさん
10/02/02 02:40:57
はいおつかれw
予想どうりw
187:デフォルトの名無しさん
10/02/05 15:30:54
??
188:デフォルトの名無しさん
10/02/05 21:39:13
質問です。
あるツールのフロントエンドを作っています。
そのツールがパスの通っているディレクトリのどこかに存在するか否か確認する方法を教えてください。
ツールの実行ファイル名はわかっています。
189:デフォルトの名無しさん
10/02/05 21:41:17
SearchPath
190:188
10/02/05 21:46:13
>>189
ありがとうございます!
191:デフォルトの名無しさん
10/02/10 13:38:38
はじめまして。
以前から興味があったのですが、今回思い切って初めてDelphi2010Proを購入してしまいました。
頑張って勉強していきたいと思います。
じつは、IDEの挙動について気になった事があり、お尋ねしたいと思います。
VCLその他の機能などをツールバーボタンに並べてみたのですが、マウスカーソルをボタンに持っていってもツールチップが表示されません。
ぼんやりとした記憶なのですが、インストール直後はちゃんと表示されていたような気がするのです。
まだまだボタンのアイコンと機能が頭の中で繋がらないため、ツールチップが表示されると大変助かるのですが(とくにVCL)…元々表示されないものでしたでしょうか。
ぐぐっても答えになりそうなページが見つからず、ご助言頂ければ幸いです。よろしくお願いいたします。
追伸 オプション内ツールパレット→「ボタンのキャプションを表示」にはチェックを入れてあります。
192:デフォルトの名無しさん
10/02/10 16:23:04
チェックしないで下さい
193:デフォルトの名無しさん
10/02/11 09:47:17
>>191
ShowHintプロパティ
URLリンク(docwiki.embarcadero.com)
194:191
10/02/11 11:31:15
>>192さん、
チェックの有無では変化ありませんでした。ツールバーカスタマイズメニュー下のツールチップON/OFFでも効果ありませんでした。
>>193さん、
アプリではなくIDEそのもののチップなので…でも紹介下さったページ勉強になりました。
再インストールとか色々調べてみましたら、やっと原因が判りました。
犯人は同時起動しているタブブラウザのタブ数でした。
60個近く開いているタブ数を減らしましたらチップが表示されるようになりました。
タブ数何個以下とは決まっていないみたいなので、よく分かりませんがリソースを食い合いしてたって事なんでしょうか。
IEコンポーネントベースだからなのかプログラム自体の問題なのかXPの問題なのか…勉強不足でわからないのですが、とりあえず自分の環境の所為と言う事がわかりました。
変な原因ですみません。ご回答頂きありがとうございました。
195:デフォルトの名無しさん
10/02/13 02:25:36
ツールバーのカスタマイズの実装方法について教えてください。
CustomizableプロパティをTRUEに設定して、
OnCustomizeCanDeleteとかOnCustomizeNewButtonとかのイベントを使うのだと思うのですが、
具体的にどのようなプログラムを書けばいいのでしょうか?
196:デフォルトの名無しさん
10/02/13 15:06:15
まず自分で分からないなりに書いてみたの?
197:デフォルトの名無しさん
10/02/15 09:01:02
TCollectionから派生させたTGraphItemのItemsに、TCollectionItemから派生させたTGraphItemsをリストするのはできました。
で、質問なのですが、
TGraphItemから派生させたTGraphBox,TGraphAxsis,TGraphLegend,TGraphDataなどの子クラスを同じTGraphItems.Itemに
リストしたいのですが、どうすればいいのでしょうか?
同じクラスしかリストできない?
ちなみにD6です。
よろしくお願いします。
198:デフォルトの名無しさん
10/02/15 09:05:00
あ、間違いです。
TCollectionから派生させたTGraphCollectionのItemsに、TCollectionItemから派生させたTGraphItemをリストするのはできました。
で、質問なのですが、
TGraphItemから派生させたTGraphBox,TGraphAxsis,TGraphLegend,TGraphDataなどの子クラスを同じTGraphColection.Itemsに
リストしたいのですが、どうすればいいのでしょうか?
です。
よろしくお願いします。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5079日前に更新/277 KB
担当:undef