[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 08/26 23:26 / Filesize : 210 KB / Number-of Response : 880
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれDelphi(超初心者用)その54



1 名前:デフォルトの名無しさん [2011/12/28(水) 08:23:15.61 ]
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。

<前スレ>
くだすれDelphi(超初心者用)その53
toro.2ch.net/test/read.cgi/tech/1309101455/

<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89

2 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2011/12/28(水) 08:23:41.15 ]
<関連スレ>
delphiで作った有名ソフトって何があるの?
hibari.2ch.net/test/read.cgi/tech/1135654787/
【Delphi互換!?】FreePascal/Lazarus その2【GPL】
hibari.2ch.net/test/read.cgi/tech/1261676778/

ネットワークゲーム作成のお勉強(Delphi専用スレ)
hibari.2ch.net/test/read.cgi/gamedev/1028278884/
Delphiでアクションゲームが作りたい!! Part2
hibari.2ch.net/test/read.cgi/gamedev/1027482533/
delphiでMMO
hibari.2ch.net/test/read.cgi/gamedev/1072515100/

では質問どうぞ。


3 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 22:55:10.84 ]
完走?落ちた?

4 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:42:01.00 ]
984で落ちたような

5 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 09:44:55.79 ]
もう人いなんだからスレ立てる必要ねぇよ

6 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 21:18:53.52 ]
時代はLazarus

7 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 13:22:04.97 ]
delphi7なんだけど、CombBoxって文字の右寄せって出来ない?
ググったらEditコントロールは出来るみたいだけど。

8 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 19:30:26.97 ]
Delphiじゃなくて WindowsのCOMBOBOXには右寄せというのは無いからね

オーナードローで描画すれば右寄せ表示も出来るけど、文字入力もしたいんだよね?

Editコントロールで入力して ListBoxを動的に表示させるとか

9 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 19:46:25.31 ]
CreateWndした後だとprotectedなメンバのEditHandleにエディット部分のhwndが入っているようなので、
こいつを使ってStyleを書き換えればできそう。

10 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:44:48.39 ]
とりあえずコンポーネントを作らないやりかた。まずフォームのinterface部の先頭に
type
 TComboBox = class(StdCtrls.TComboBox)
 private
  FAlignment: TAlignment;
  procedure SetAlignment(const Value: TAlignment);
 public
  constructor Create(AOwner: TComponent); override;
  procedure CreateWnd; override;
  property Alignment: TAlignment read FAlignment write SetAlignment;
 end;
とする。



11 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:45:38.79 ]
んでもって実装はこんな感じ。
constructor TComboBox.Create(AOwner: TComponent);
begin
 inherited;
 FAlignment := taLeftJustify;
end;

procedure TComboBox.CreateWnd;
const
 Alignments: array[TAlignment] of DWord = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
 inherited;
 SetWindowLong(EditHandle,GWL_STYLE,
        (GetWindowLong(EditHandle,GWL_STYLE) and $FFFFFFFC) or Alignments[FAlignment]);
end;

procedure TComboBox.SetAlignment(const Value: TAlignment);
begin
 if FAlignment <> Value then
 begin
  FAlignment := Value;
  RecreateWnd;
 end;
end;

12 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:52:47.48 ]
でフォームに3つTComboBoxを置いて
procedure TForm1.FormShow(Sender: TObject);
begin
 ComboBox1.Alignment := taLeftJustify;
 ComboBox2.Alignment := taRightJustify;
 ComboBox3.Alignment := taCenter;
end;
でもこれだと設計時にAlignmentを指定できないので、それがいやならTComboBoxから派生したコンポーネントを
作ってインストールする。注意事項としてはWindows NT4では複数行ではないEDITにES_RIGHT/ES_CENTERを
指定できないためこれだけではうまくいかないということと、ひょっとしたらStyleにES_AUTOHSCROLLも入れたほうが
いいかも、ということくらいかな。

13 名前:7 mailto:sage [2012/01/06(金) 08:56:08.00 ]
うおおおおおおお
皆さん、ありがとうございます。
10さん、まだ試してないですが使わせていただきます。

本当にありがとうございました。


14 名前:デフォルトの名無しさん [2012/01/14(土) 18:22:32.42 ]
DELPHIの既存システムに無線ハンディ売上システムを
アドオンしようとしてるんだけど、
ハンディサーバーは既存でVB.NETでいい感じのシステムがあるんだよね
俺はどの戦略をとるべきかな
ちなみにDELPHI7だけど、俺の職歴はDEL3.1CSで止まってる

1.DELPHIでハンディサーバーシステムを新規構築
  (マルチスレッドなTCPサーバーを作るの面倒)
2.VB.NETサーバー側にDELPHI後方処理を移植
  (既存システムの後方処理を使い回しできない)
3.VB.NETサーバーを利用し、DELPHI後方処理をDLLパックしてコール
(変数の受け渡し等でシリアライズとか問題発生しないかな)

燃料だとでも思ってなんか意見ください

15 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 04:45:01.30 ]
手間が少ないのは3だろ

16 名前:デフォルトの名無しさん [2012/01/16(月) 09:19:10.54 ]
>>15
最近の異言語間のマーシャリングとか得意じゃないんだけど
VB.NETとDEL7ってあんまり気を使わないで済むのかな


17 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 09:28:22.62 ]
COMで呼べばいいじゃん

18 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 09:40:25.72 ]
俺だったら全部Delphiでやるけどね。 既存設計の良い所真似してより便利にしてやれば喜んでくれるだろう。
下手に既存との両立とかしたらアレは向こうの問題だとか 問題の切り分けで面倒な事になる。

でも、久しぶりのDelphiだと慣れてないって事もあるだろうからお勧めは出来ないな。
自作のコンポ大量にある場合向けだな。


で、VB.NETとの共存なら、コールバックとかややこしい事しなくても、DelphiからVB.NETのサーバーにアクセスすりゃいいんじゃないの?
プロトコルが判ってるんならだけどさ。

何かデータ加工してもらわないといけないのなら、VB.NET側で加工してファイル渡しで作ればいいじゃない。

19 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 11:41:20.91 ]
Delphi1〜4まで持ってたんだけど
今再開するとしたら有利なアップグレードパスはありますか?

フリー版ってもうないんですよね

20 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 16:42:17.14 ]
>>15,17,18
ご意見ありがとうございます

TThreadやSocketの経験はあるのですが、
今日実際に通信サーバーを作ろうとしたらApplication.ExeName
すらぐぐらないと思い出せない始末
この分では2週間ぐらいかかってしまうので

VB通信サーバー −> FireBirdトランかきこ
−> Delphi監視サーバー −> 伝票自動発行
の流れで行こうと思います。(監視サーバーは定期監視か可能ならSocket通知)




21 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 21:40:30.78 ]
>>19
とりあえずStarter SKU(Delphi XE2 Starter)でいいのでは?これで足りないようなら今年の9月頃にXE3が出ると思うんで、
そのときにジャンプアップキャンペーンがあればこれでPro以上のSKUにするのがオヌヌメ。

22 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 21:21:27.11 ]
mainmenuを使って
メニューを作っています。
コンパイルすると
メニューの文字の左側に(アルファベット1文字)が追加されています。
例)ファイル(X)
開く(Y)
閉じる(Z)
カッコとアルファベットを消す方法を教えて下さい。

23 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 21:27:42.97 ]
つAutoHotkeys

24 名前:22 mailto:sage [2012/01/17(火) 22:58:21.85 ]
maManualにしたらできました。
ありがとうございます。

25 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 23:39:07.83 ]
delphi3の頃から見かける質問だがいまだにこれが出るって事は新規がまだいるんだなぁ

26 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 23:45:03.28 ]
ホットキーがついてないのって出来損ないのクロスプラットフォームアプリでしか見かけないな

27 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 18:18:04.32 ]
ツールボタンしか用意してないものとかもあるもんな

28 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 21:56:03.23 ]
Delphi6使ってるんですが、Indy9はHTTP1.1に対応していますか?
ヘルプには
IdHTTP1->ProtocolVersion のデフォルトは pv1_1 と書いてありますけど。
Transfer-Encoding: chunked だと途中でファイルが途切れることがあるみたいなのですが・・・


29 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 09:58:37.70 ]
それはDelphiじゃなくてIndy側の問題。どうせオープンソースだから自分で直せ

30 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 00:24:41.00 ]
>>28
chunkedなデータって元々サイズ指定がなかったりするから
途切れてるんじゃなくてそれで正常って可能性もあるんじゃね?



31 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 06:00:51.65 ]
RFC嫁

32 名前:28 mailto:sage [2012/01/20(金) 06:55:44.94 ]
ネットモニタで見てみたら、ちゃんとデータは鯖から送信されていました。
なので、Indyがchunkedに対応していない、あるいはバグのようです。
>>30 ちなみに、chunkedはブロックごとにサイズ指定して送信してくる方式ですよ。
いろいろ試行錯誤してみた結果、
ProtocolVersion:=pv1_0 にするとchunked形式ではなく普通の形式で送信される
ので、とりあえずはそれで回避しましたが、なんか鯖の反応が遅くなるみたいです。
Indyのソースは見てみましたが、膨大で挫折しました。
どこを見ればいいんでしょうか。


33 名前:デフォルトの名無しさん [2012/01/20(金) 16:39:05.59 ]
Delphi初心者です

34 名前:デフォルトの名無しさん [2012/01/20(金) 16:41:04.77 ]
Delphi初心者です
マルチクライアントなTCPサーバーを作ろうと思うのですが、
TTcpServerというのを使えばいいんでしょうか?
バグとか機能的に使えんとかいうご意見があれば教えてくさい
あと、それよりこっちがいいよっていうコンポーネントなんか
あったら教えてくさい

35 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:17:28.40 ]
Ararat Synapse にマルチクライアントなTCPサーバーのサンプルがついてるよ

36 名前:デフォルトの名無しさん [2012/01/20(金) 17:25:43.67 ]
>>35
34です。ありがとうございます。調べてみます。
TTcpServerは使い物にならないってことですかね?

37 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:44:20.50 ]
特に理由がなければC#とかの方がいいよ

38 名前:デフォルトの名無しさん [2012/01/20(金) 18:51:21.57 ]
ほんとだったら.Net Frameworkでやりたいんですが、今回はDelphi言語指定です

39 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:00:54.62 ]
まぁ、TTcpServerぐらいなら元のWinSockラップしてるだけだし。
バグとか大丈夫なんじゃ。ソースも簡単に追える程度でしょ。

40 名前:デフォルトの名無しさん [2012/01/20(金) 19:08:38.45 ]
>>39
34です。とにかく情報が少なすぎて不安ですが、チャレンジしてみます
ありがとうございました



41 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:15:12.47 ]
つ ttp://docwiki.embarcadero.com/CodeExamples/XE2/en/TTcpServer_%28Delphi%29

42 名前:デフォルトの名無しさん [2012/01/20(金) 19:17:51.82 ]
はい、そこは見てます。これぐらいしかないんですw

43 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:35:18.64 ]
>>32
サイズって全体のサイズな
細切れ毎のサイズだけでは全体がいくつか分かんないでしょ

44 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:38:25.99 ]
>>42
古いものだけど、TServerSocketの方が情報はあるかもしれない
簡単に言えばTTcpServerの旧世代版みたいなもの
標準ではインストールされてなかったと思うけど、一応最新のDelphiにも入ってたはず
導入方法はググれ

45 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:56:00.45 ]
>>32
Content-LengthとTransfer-Encoding: chunked が同時に指定されている場合に
鯖によって問題出る事があって昔Janeでバグ修正してるけど関係あるかな?
TIdCustomHTTP.ReadResultの判定順序変えてるけど

46 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 07:56:32.97 ]
>>37
C#でサーバーとな。気は確かか?

47 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 08:12:16.95 ]
.NETはWinForm,WPFなどのクライアントよりASP.NETなどのサーバー分野の方が強いんだけど


48 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 08:27:18.57 ]
いや、別に止めないけど

49 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 09:00:50.83 ]
Delphi+Indyに比べれば何でもましだろ

50 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 10:39:32.91 ]
だな



51 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 12:09:25.77 ]
というかArarat Synapse のサンプルはマルチスレッドだから実用に耐えるよ。
Indyは確かに糞だよ。

52 名前:デフォルトの名無しさん [2012/01/24(火) 09:04:17.21 ]
パッケージ・インストールの質問です。
TMS SoftwareのTAdvListViewをインストールしようとしていますが、
次のようなエラーが出ます。

パッケージ C:\Users\Public\Documents\RAD Studio\9.0\Bpl\alvPkgDXE2.bplは
異なる Delphi または CBuilder で作成されたためインストールできません。

コンパイルはエラー無く終了します。上記のalvPkgDXE2.bplは、
正常にコンパイルした結果でファイルの更新日付は新しくなっています。
TMS Softwareのサポートにもメールで問い合わせましたが、解決の
糸口がつかめません。bplのファイルを生成するときに、バージョンを
指定するオプションがあるのかと探していますが、
手詰まりになってきました。

'異なるDelphiまたはCBuilderで作成'というキーワードから、点検のポイント
がわかればご教授ください。

53 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:22:57.74 ]
私教授じゃないから教示はできても教授はできないわ

54 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:42:45.40 ]
この際Lazarusに移行しちゃえば?

55 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 19:53:55.61 ]
_alvPkgDXE2.bpl
にでもリネームしてみる

56 名前:デフォルトの名無しさん [2012/01/24(火) 23:38:49.03 ]
52です。
この件クローズです。
直接の原因はTAdvStringGridがインストールされているためでした。
そもそも、TAdvListViewと共存できるのかTMS Softwareに確認しています。
お騒がせしました。

57 名前: ◆XcB18Bks.Y mailto:sage [2012/01/28(土) 02:48:08.05 ]
Turbo Delphiのテキスト選択に関する質問です。

普段はテキスト選択のあとにキャレットを移動させると
テキスト選択が解除されますが
使っているうちに何か変なキー操作をしてしまったのか
テキスト選択モードが変わってしまったようで
キャレットを移動してもテキスト選択が解除されません。

これはどうやったら元に戻る(切り替えられる)のでしょうか。
ヘルプを見たのですが分かりませんでした。


58 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 03:29:43.82 ]
その質問をするためにはどうしてもトリップを付ける必要があったのでしょうか?

59 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 05:17:26.69 ]
うぜえよ
答えられないならレスすんな、カス

60 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 08:55:36.81 ]
キーボードにコーヒーこぼしてShiftキーが押しっばなし状態になったことはあった



61 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:48:25.50 ]
今のデルファイで232c扱うコンポーネントある?

62 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 22:43:59.27 ]
CommPortとかTurboPower Asyncあたり

63 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:39:11.89 ]
ドラッグアンドドロップで、画像を配置して表示させるフォーム
をつくるには
どうすればいいでしょうか。

64 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:55:17.20 ]
まずドラッグアンドドロップの処理をフォームに実装します

65 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:09:04.21 ]
>>63
「フォームをつくる」の意味が曖昧だけど

usesにShellAPI

WM_DROPFILES

DragQueryPoint

を検索してみたらよろしいかと

66 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 18:31:05.62 ]
ファイルをとは一言も言ってません

67 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 20:04:21.35 ]
はい、次の方

68 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 10:12:15.10 ]
Del2010です。コンパイルオプションの範囲チェックを有効にしたプロジェクトを読み込むと、

var
a : UInt64;
begin
a := $f000f000;
a := a shl 32;
showmessage(inttohex(a,16));

こういうコードの場合、shlの行でaの上位4バイトに対して負の数だったら、@BoundErrとなるように範囲チェック処理が働きます。
UInt64の場合これはおかしいように思いますが、なぜなんでしょう。実は暗黙的にUInt64もInt64として扱われるんでしょうか。

69 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 10:57:07.37 ]
>>68
この際だから Lazarus に移行しちゃえば?

70 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 10:45:46.55 ]
>>68
IntToHexの引数の型を見たことはある?



71 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 11:56:14.72 ]
こんにちは。
Delphi7でmdbをTADOQueryで読み込んでDBGridに表示しています。
そのADOQueryにはCalcFieldがあり、OnCalcFieldsイベントで
データをセットしています。
で、このクエリをDBGridに表示し終わった時に、そのCalcFieldの
値の全レコードの合計をTEditか何かに表示させたいと思って、
OnCalcFieldsイベントプロシジャの中で、
Ruikei := Ruikei + CalcFieldの値;
みたいに累計を求める式を書いてるのですが、
OnCalcFieldsイベントはDBGridに表示されているレコードしか
呼び出されないようで、全レコードの合計になってくれません。
CalcFieldの値の全レコード合計を出すにはどうすればよいでしょうか?


72 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 12:26:02.02 ]
>>71
逆に mdb にクエリー投げたくない理由教えて。
なんでわざわざDBGrid 解して計算したいの?

73 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 12:31:34.73 ]
>>72
DBGridには表示してるだけです。
TADOQueryでmdbにSQLを投げてます。

74 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 12:33:15.29 ]
>>72
mdb - TADOConnection - TADOQuery - TDataSource - TDBGrid


75 名前:68 mailto:sage [2012/02/02(木) 13:24:05.22 ]
>> 70
はい、あります。Integerですよね。IntToHex自体はaの中身を表示する処理ですが、
それはあくまで、その時点でaにセットされている内容を表示する処理ですよね。
したがってaの中身が$8000000000000000であればそれが表示されるでしょう。

私が思うのは、その前のshlの段階。
shlは符号に無関係な"論理左シフト"である以上、1 shl 63は$8000000000000000と
セットされるべきで、ここに符号ありチェックが入るのは、おかしいのではないか?
という趣旨です。

参考までに、下記のようなコードでもやはり同様の現象が起きます。
var
a : UInt64;
begin
a := 1; a := a shl 63;
pcardinal( pbyte( @a ) + 4 )^ := $f; // とりあえずaを使用するためのダミー処理


76 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:31:28.53 ]
>>75
逆アセして貼ってくれ

77 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 14:24:06.29 ]
>>75
DXEで逆アセのコードを見てみたけど、まずshl 32はシフト命令を使用していない。64bitデータの
左32bitシフトは下位32bitを上位に移動して、下位32bitを0にする、という形に最適化されている。

その上でaがInt64なら範囲チェックなし、UInt64なら範囲チェックあり、というコードが生成されている。
逆じゃね?という指摘はまぁそのとおりのような気もする。

78 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 16:14:49.32 ]
>>73
>>74
よくわからんがどうしてもDBGridを仲介させたいなら
DBGridを全スクロールさせるとかしかないわな。
俺なら別のクエリで計算させるけど。

79 名前:デフォルトの名無しさん mailto:age [2012/02/02(木) 21:19:58.70 ]
Delphi6 で質問です。

データの簡易エディタ表示部分を作ろうとしているのですが、

Index |  txt  | −1− | −2− | −3− |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
☑ฺ 1 | data1txt | −1-1txt− | −1-2txt− | −1-3txt− |▲|
☑ฺ 2 | data2txt | −2-1txt− | −2-2txt− | −2-3txt− | |
☑ฺ 3 | data3txt | −3-1txt− | −3-2txt− | −3-3txt− | |


 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
[←]_____________________[→]

表示は別ボタンなどで計算結果などを表示するだけ。
項目内で直接書き換えはしません。
行数はデータによって1000行ぐらいまで変動します。
チェックボックス付きの項目(有効/無効)用を入れるには ListView でいけますか? 他にあります?

ScrollBox → ListView (ViewStyle vsReport) ?

80 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 11:53:48.51 ]
そういうリストビューコンポーネントを作れば?



81 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 13:35:10.16 ]
>>79
Checkboxes

82 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 14:32:57.41 ]
ListViewでいいだろ。

83 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 14:38:09.78 ]
>>79
すぐできるからやってみろ

84 名前:デフォルトの名無しさん mailto:age [2012/02/04(土) 03:04:32.39 ]
ドモドモ
Checkboxes というコンポーネントかと思って探しまくってました orz
ListView の プロパティCheckboxes を True にするのですね。
これを探してました、ありがとう!

85 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 23:13:25.01 ]
教えてください。
TProgressBarで、カウントする数字が未確定の場合などに
左右にバーが揺れながら移動するのを見かけたのですが
どのように実現するのでしょうか。
調べたら、TProgressBarには、pbstMarqueeという形式がありますが
pbstMarqueeだと、左から右にブロックが移動しますが
実現したいのは、左右に移動する形式です。


86 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 03:52:17.11 ]
自前で描画

87 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 21:22:17.35 ]
gifアニメでいいんじゃないの?

88 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:11:57.85 ]
>>85
ProgressBar1.Position := 0; 〜
を ProgressBar1.Max までの範囲で直接増減させたらダメなの?

89 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 23:21:27.87 ]
読解力に少々問題があるようですね

90 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 12:59:02.85 ]
脳も左右に揺れております



91 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:38:04.18 ]
むかし、 Knight2000というコンポーネンがあってだな

92 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 08:56:08.55 ]
XE2 Starterって買ってメリットある?
ジャンプアップで1万引きでproが買えるって話なら、結局払ってる金同じじゃん
それなら、VS2010のProを5万そこそこで買ってる方が得だと思うけど。
もっと安かったら飛びつくのだけどなdelphi。残念。

93 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 09:45:26.15 ]
貧乏人は麦を食え

94 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 10:42:43.45 ]
今は麦飯にすると高くつくけどな

95 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:20:08.08 ]
XE/XE2で
tmyclass=class
published
procedure foo;
procedure bar;
procedure baz;
end;
でpublishedなメソッドfoo,bar,bazの一覧を得る方法あったら教えて下さい。
なるべくならRTTIを使った安全な方法でおねがいします。

96 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:02:09.38 ]
Rtti.pas

97 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:54:42.75 ]
TRRIContext.Create
GetTypes(tmyclass)
GetMethods
ToString

こんな流れ

98 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:48:51.65 ]
うまくいきました。ありがとうございます。

publishedかどうかの判定はTRttiMethodのメソッド、プロパティに見当たらなかったので
TMyClass.MethodAddress(Method.Name) <> nil
で判定しました。

99 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:28:04.80 ]
TRttiMemberにVisibilityプロパティあるじゃんかよ。

100 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 17:11:43.59 ]
じゃあ最初からそう書いてもらえます?



101 名前:97 mailto:sage [2012/02/12(日) 18:27:05.82 ]
>>99はおれじゃないし。
適切なフォローありがと>>99

102 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 01:03:13.19 ]
うむ、苦しゅうない

103 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 18:36:47.26 ]
Delphi6EnterPriseで、ApplicationEventsのOnMessageイベントの中で、
Msg.Message=WM_KeyDownだった場合に、
テンキーのどのボタンが押されたかを判断するにはどうしたらよいでしょうか?
半角入力時の判断は実装済みで、今回は全角入力時の判断を実装します。

104 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:41:53.35 ]
IMEに取られちゃうからうまくいかないんじゃね?

105 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:21:02.67 ]
IMEを自分で直接コントロールすれば、不可能ではないだろうな


106 名前:103 mailto:sage [2012/02/15(水) 01:09:40.88 ]
AやS等のキーはMapVirtuaklKey(LOBYTE(HIWORD(Msg.lParam)))で判断できました。
ですが、問題はテンキーのどのキーが押されたかどうかが知りたいのです。

107 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 09:31:37.72 ]
>>104-105を無視して何がしたいの?コード丸ごと書いて欲しいわけ?

108 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 10:09:32.17 ]
Ex付きのを使うのか、VkKeyScanExあたりを使うのか、Imm系関数を使うのか、
あるいは低レベルフックか、可能性がありそうなのはこのあたりか。
本当はWin32APIスレで聞けっていいたいけど、あそこは既知外に粘着されてて
機能してないからな…。

109 名前:103 mailto:sage [2012/02/15(水) 11:03:12.67 ]
ImmGetVirtualKey(Handle)で取得したコードで解決できました。
>>104-105 >>107
無視する様な発言をして、すみませんでした。

>>108
ApplicationEventsのOnMessageイベント内で解決したかったので、こちらに投稿してしまいました。
今度からWin32API用スレッドに先に行ってみます。

110 名前:108 mailto:sage [2012/02/15(水) 11:57:09.73 ]
>>109
> 今度からWin32API用スレッドに先に行ってみます。
やめとけ。このあたりにいるアンチとは比べ物にならないのがもう1ヶ月以上も粘着してんだから。



111 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 11:25:49.03 ]
コンボボックスのonkeypressに重めの処理書いて123って入力した場合、
321123って表示されてしまう。

これどうすればなおせる?

112 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 12:08:50.62 ]
コード晒せよ禿

113 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 23:42:05.97 ]
禿じゃないので諦めます

114 名前:54 mailto:sage [2012/02/18(土) 03:58:55.01 ]
スカルプって毛生えないらしい、ショックだ
勝手に上書きして欲しいんだろうけど、やめた方がいいよ

115 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 23:40:39.00 ]
XE2のヘルプの見方がさっぱりわからん

116 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 09:48:13.70 ]
オンラインヘルプのほうがまだましかも

117 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 10:31:05.80 ]
ヘルプに文句言う人は、何のことについて調べていたのか書かないよね。

118 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 13:17:09.07 ]
youtubeでiosアプリの作り方見たんだけど、
macの上でdelphi使ってた見たいなんだけど、
BootCampじゃなくて、仮想なんチャラみたいなので
Windowsを使えばdelphiが使えて、プロジェクトもMacにドロップ
出来るの?

119 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 13:30:09.86 ]
ヘルプでやたら

このトピックには現在ドキュメントが存在しません。「ノート」を利用してこのトピックの改良について話しあうことができます

出てくるんだけど、プロパチィとかイベントのヘルプってほとんど無いじゃない?

120 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 13:45:56.49 ]
結果はわかったが何を調べたんだ



121 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 14:19:33.20 ]
>>118
Lazarusだよ。できるよ。

122 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 17:58:06.15 ]
>>119
ものによる。最近新しく追加されたようなコンポーネントのヘルプは内容がないことが多いな。
ただ右下の"現在のwikiページを表示"で出てくるものもある。

123 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 20:08:57.07 ]
>>120
何でお前にいちいち報告しないといけないの?

124 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 08:17:56.24 ]
なおるかもしれないじゃん。

125 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 12:42:08.04 ]
炎猿とかはヘルプ無いよね?
追加インスコとかするの?

126 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 12:49:52.23 ]
つ ttp://docwiki.embarcadero.com/RADStudio/ja/FireMonkey_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3_%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0

127 名前:デフォルトの名無しさん [2012/02/22(水) 21:46:50.31 ]
ヘルプに、説明抜けが多量にあるわけだが。
マラメータの意味がわからんわ。


128 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 23:46:34.23 ]
StepItすると左からチ○コが生えてくるProgressBarか

129 名前:54 mailto:sage [2012/02/24(金) 23:53:20.02 ]
XE2持ってるのに、また買えって案内きた

130 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 00:41:45.77 ]
>>129
この際Lazarusに移行しちゃえば?



131 名前:デフォルトの名無しさん [2012/02/25(土) 00:53:40.20 ]
TPanelの上にTImageを置いて
TImageがTPanelの大きさを超えたら(TPanelからはみ出したら)
スクロールバーを出す(スクロールバーではみ出した部分をスクロールできる)ように設計したいんだけど
TPanelのプロパティのどれを使えばいい?

もしかしたら滅茶苦茶なこと聞いてるかも…

132 名前:131 mailto:sage [2012/02/25(土) 01:21:07.64 ]
追記

TScrollBoxの上にTImage置いて、
TScrollBoxのAutoSizeをTrueにしてもみたけどダメだった。

133 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 01:47:51.15 ]
すみません。教えて下さい。
時間のかかる処理の進捗を知らせるため、プログレスバーを乗せたフォーム(Form2)を表示して
ループの中でプログレスバーのPositionを1ずつ増やしてます。
でも、何故かプログレスバーのゲージが増えず、ソフトが止まったみたいになります。

Applicationのメソッドの何かでループの中からソフトの動作を更新(?)すればいいのかとも思うんですが
どんなメソッドを使えばいいんでしょう?
支離滅裂ですが教えて下さい。

134 名前:デフォルトの名無しさん [2012/02/25(土) 09:01:59.10 ]
デルファイって、VBのように配列の要素数を超えて
値を入れようとすると、デバッカがエラー出してくれる?

135 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 09:09:12.03 ]
そういうコンパイラオプションもあるよ

136 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 09:11:06.91 ]
>>133
Application.ProcessMessages

137 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 09:12:48.00 ]
>>131
そういう時はTPanelじゃなくてTScrollBoxを使う

138 名前:デフォルトの名無しさん [2012/02/25(土) 09:20:07.43 ]
>>135
そうなの。あまり気にせず書けて便利ですね。
ということは、兄弟であるCビルダーも同じってことなの?

139 名前:デフォルトの名無しさん [2012/02/25(土) 13:30:35.06 ]
Alt+F4が押されるた時、Formを閉じないようにしたいんです

「カーソル位置まで実行」でFormのKeyDown、KeyPress、CloseQueryに
来たら停止するようにしてみたんですけど、停止しないみたいです

Formのスタイルとかを変える…という方法でも結構ですので
Alt+F4を無効にする方法をお願いします

140 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 14:50:10.65 ]
>>139

KeyDownの中で
Key=0
でよくないか?

試してないが…



141 名前:140 mailto:sage [2012/02/25(土) 14:51:20.51 ]
Key:=0 だった orz

142 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 10:09:18.74 ]
>>133 こういうのってWindowsの仕組み自体を知らない人なんだろうな

143 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 12:19:00.14 ]
これから覚えれば良いこと
所詮、プログラムは知識量

144 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 13:57:46.54 ]
炎猿 FMX.TCanvasで、角度を持った文字を出力したんいんだが、
FillTextでは無理、CreateFontらしきものも見当たらない、
TBitMapに書いて、自分で座標変換して出力しないといけないのかなぁ

145 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 17:14:50.87 ]
>>142
超初心者用スレで「この人は超初心者だ」と指摘することにどれだけの意味があるとお考えですか?

146 名前:144 mailto:sage [2012/02/26(日) 17:44:48.87 ]
自己解決
炎猿 FMX.TCanvasではなく、
FMX.Formなんかで、 TLabelを書きたい位置に貼って(描画時に生成しても良い)
TLabel RotateAngleに角度を代入すれば桶だったわ。

FMXでこういうプロパティが追加されているならVCLにもあるか?と
さがしたが、Vcl.TLabelにはRotateAngleはありませんですた。

炎猿で一瞬でできること、VCLで一瞬でできること、それを違うほうで
やるときに考え方をコロっと変えなければという現実を見て、orz...


147 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:51:12.94 ]
>>145
確かにdelphiは初心者にとって扱いやすくていいのだけど、
やっぱりある程度のことをやろうと思うと、おとなしくCから
学ぶべきなんだろうなと、つい先日林はるひこの本買いました。
精進します。


148 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 17:41:17.89 ]
精々頑張りたまえ

149 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 17:36:46.55 ]
TreeViewにおいてツリー状にノードがある場合に
特定のノードからサブ含む子ノード全てにアクセスしたいのです。

再帰関数の書き方がわかりません。
サンプルいただけないでしょうか?

150 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 20:22:49.74 ]
XE2のIDEでALTキーを押した時に初めて”ファイル”メニューが”ファイル(&F)”と表示されるようになりますが
常時"ファイル(&F)"と表示されるようには出来ませんか。

わかりづらい上にたまに一度ALTを離してからでないと
サブメニューのアクセラレータキーが表示されないことがあって困ってます。



151 名前:149 mailto:sage [2012/03/03(土) 22:25:04.56 ]
TreeNodeの再帰の件は自己解決しました

procedure exNode(TargetNode: TTreeNode);
var
 Node: TTreeNode;
begin
 Node:= TargetNode.getFirstChild;

 while Node<>nil do
 begin
  //ここに処理を書く

  exNode(Node, b);
  Node:= TargetNode.GetNextChild(Node);
 end;
end;

152 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 16:55:36.85 ]
えっ

153 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 05:12:05.37 ]
びっ
まっ
よっ
ねーず

154 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 08:34:59.99 ]
s := 'foo#'#13#10'bar'#1#2#3;
な文字列を
'foo###13#10bar#1#2#3'
のように相互にescape/unescapeしてくれる関数あったら教えて下さい。

155 名前:デフォルトの名無しさん [2012/03/05(月) 13:05:28.87 ]
すみません、教えてください。

C#(Visual studio2010 Windowsフォームアプリケーション)で作成したフォームを
DelphiでDLLファイルかTLBファイルから呼び出したいんですが、やり方がわかりません。
どなたか教えていただけませんでしょうか

156 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:25:13.21 ]
本当に済まないと思っているのか。

157 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 04:24:03.31 ]
痛い。

158 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 07:53:14.50 ]


   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ     >155  
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /


159 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 10:44:42.00 ]
ぜんぜんDelphiのこと知らないんだけど
Delphi.netってどうなったの

160 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 11:02:08.20 ]
win7のハンドル調べるツールは何を使っていますか?



161 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 22:25:43.45 ]
自作

162 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 12:00:04.20 ]
他作

163 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 13:31:01.81 ]
与作

164 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 15:05:05.08 ]
Delphi XE の 「コード」「履歴」「デザイン」タブの「デザイン」タブが
消えて、フォームが見れなくなったんですが、復活させるのは、どうすれば良いのでしょうか?

お願いします。お願いします。お願いします。

165 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 15:55:50.94 ]
[F12]じゃだめなの?

166 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 16:08:45.29 ]
環境オプション-VCLデザイナ-埋め込みデザインにチェックついてるとか

167 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 16:10:06.33 ]
逆だ。チェック外すと昔のIDEようにフォームが独立したウィンドウで表示される。

168 名前:164 mailto:sage [2012/03/08(木) 16:22:59.92 ]
とりあえず、自己解決しました。

pas ファイルと dfm ファイルは、残ってるのですが、「デザイン」タブが
無くなったので、[F12]は、効きませんでしたし、編集画面左上の切り替えボタンも
使用不能になってました。

新しく Form2 を作り、Form1 の dfm ファイルの中身をテキストエディタで
Form1 を Form2 に置換して貼り付けたら Form2 で、画面は復活しましたが
同じ方法で, pas ファイルを Form1 を Form2 に置換して貼り付けたら
また、Form2 も「デザイン」タブが、消えて同じ現象になりました。

新しく Form3 を作り、 dfm ファイルを貼り付けて
pas ファイルは、procedure や fanction の枠だけ造り、var i: Integer;
だけ、書いて保存し、procedure や fanction の中身だけ貼り付けたら
「デザイン」タブが消えずに復活しました。

169 名前:164 mailto:sage [2012/03/08(木) 16:31:28.21 ]
>>166,167
そのチェックは、関係無かったです。

現象としては、「デザイン」タブが、完全に無くなり、
編集画面の左上の3番目のボタン「フォーム/ユニットの切り替え(F12)」ボタンが
Enabled := false みたいに使用不可になって使えませんでした。

170 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 18:47:12.10 ]
起動時に複数のフォームを表示させるにはどうすればいいですか?



171 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 20:16:06.54 ]
{$R *.dfm}を消したんじゃね?

>170
メインフォームのOnShowで2つめのフォームを作って表示するか、メインフォームと同様に
2つめのフォームを自動生成にする。

172 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:38:09.26 ]
>>171
ありがとう

173 名前:164 mailto:sage [2012/03/09(金) 11:06:26.37 ]
>>171
消してないです。まあ、なんとか復活したので良かったです。

174 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 08:17:33.72 ]
例えば
'dir c:\ /s /b'
という外部コマンドを実行して結果を取得するような
ライブラリって無いですか。

WinExecで'cmd.exe /c dir c:\ /s /b > temp/result.txt'
みたいなことをやってるんですがもうちょっとスマートに(出来ればリアルタイムに1行ずつ)取りたいです。

175 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 09:30:47.26 ]
FindFirst/FindNext/FindCloseとかそういう話じゃなく?単にコンソールアプリを
起動してその出力を取りたいってこと?それならパイプを使うんだけど、
Delphi コンソール パイプとかで検索してみたら?

176 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 09:32:11.02 ]
というかそんなのぐぐればすぐ見つかる

177 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 13:16:11.05 ]
ggrks

178 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 17:02:58.73 ]
これって毎度ググれとか言う割にまともな実装がひとつもないんだよなw

179 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 17:13:29.89 ]
>>174
ttp://wiki.lazarus.freepascal.org/Executing_External_Programs/ja

180 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 00:03:34.25 ]
JVCLのTJvCreateProcessとか



181 名前:174 mailto:sage [2012/03/13(火) 09:37:39.18 ]
有難うございました。

182 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 13:37:07.10 ]
>>178
ググる能力すらなかったんだね(ニッコリ

183 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 14:12:44.77 ]
これってssl通信できますか?

184 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 17:41:33.10 ]
Indy10ならOKでは?

185 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 21:23:41.09 ]
delphiにプロトタイプ関数ってあるの?

186 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 22:53:18.22 ]
Cのプロトタイプ宣言相当ならこんな感じ

unit mylib;

interface

function add(a, b: integer): integer;

implementation

function add(a, b: integer): integer;
begin
 Exit(a+b);
end;

end.

187 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 23:19:25.62 ]
やっぱりpascalはいいなあ

188 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 23:32:52.56 ]
>>185
forward宣言ね。

189 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 17:20:31.75 ]
type
TFoo<T> = class
public
function Eq(A, B: T): Boolean;
end;

function TFoo<T>.Eq(A, B: T): Boolean;
begin
Result := A = B; // [DCC エラー] E2015 この型には指定した演算子は使えません
end;

でエラーになってしまう。
Tにはクラスではなく列挙型のみを指定して使いたいんだけど(なのでIなんたらは継承できない)
そういうのは現実的ではない?
列挙型制約なんてのはサポートされないんだろうか。

type TMyEnum = (meFoo, meBar, meBaz);

var foo: TFoo<TMyEnum>;

if foo.eq(meFoo, meBar) then ...

190 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 05:36:28.34 ]
値型制約はあるけど



191 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 06:26:37.39 ]
Result := A = B; なんて書き方できたっけ これじゃ戻り値はどうなるの

192 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 09:09:53.10 ]
>>191
Boolean

193 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 09:31:25.49 ]
>>189
列挙型制約欲しいよな。TFoo<T: enum>とか。
ただ他の制約と違って、指定する列挙型によってSizeOf(T)が変わるから実装が難しいのかもしれない。
現実的な書き方としては、CreateでTypeInfo(T)のKindがtkEnumerationかどうかチェックしつつ、
比較では上記のSizeOf(T)が変わる可能性があるという部分も考慮して、
function TFoo<T>.Eq(A, B: T): Boolean;
begin
  Result := CompareMem(@A, @B, SizeOf(T));
end;
って感じだろうな。CompareMemの代わりにPByteArray何かにキャストしてSizeOf(T)分forで回すとかでもいいけど。

>>191
えっ…基本だろ…
もしかしてif文で毎回if A = B = True thenとか書いてるわけ?
そうだとしてもA = BとTrueがエラー無く比較できてる時点で何を返してるかは自明だろ…。

194 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 09:57:24.47 ]
やっぱりpascalはいいなあ
ヘッダファイルいらないし。

195 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 10:06:49.23 ]
ヘッダファイルがある言語の方が少ないだろ

196 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 01:12:12.13 ]
StringGridの指定したセルの色を瞬時に変えたい。

指定したセルの色を変えるところまでは
procedure TForm1.StringGrid1DrawCell(...
begin
if (ACol = 5) and (ARow =5) then begin
StringGrid1.Canvas.Brush.Color := clBlue;
StringGrid1.Canvas.FillRect(Rect);
end;
end;
でよかったんだけどこれに
if combobox1.itemindex=0 thenなど条件を加えると条件にすぐさま反応せず、
指定したセルをクリックしたら色が変わるという状態になってしまう。
このstringgridのイベントはプログラム起動時にしか自動で動いてくれないのかな
どなたかご教授願います。

197 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 01:29:01.44 ]
refresh とか

198 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 01:42:58.77 ]
>>197
ありがとうございます。
Invalidateのことでしょうか?
いろいろ置く場所を変えて試してみましたが状況変わらずでした

199 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 03:27:51.95 ]
>>196
> このstringgridのイベントはプログラム起動時にしか自動で動いてくれないのかな
そんなわきゃない。

StringGrid.RepaintとかInvalidateRect(StringGrid.Handle,nil)とかをComboBoxの
OnChangeで呼び出せ。

200 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 11:50:50.30 ]
>>199
きたあああああああああああああああああうおっしゃあああ
あざすあざす!



201 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 07:28:25.51 ]
Windows7のコピーダイアログみたいに
見出し+説明がセットになった大きなボタンの配置されたダイアログって
どうやって作ればいいですか?

------------------
OK(&O)
長々とした説明
------------------

------------------
Cancel(&C)
長々とした説明
------------------

どっちか選んでください。

202 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 09:15:30.12 ]
つ ttp://edn.embarcadero.com/article/33753#7%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%A4%E3%81%8D%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0


203 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 18:22:00.72 ]
RepaintやRefreshは真っ先に思いついて試すだろ普通・・・

204 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 18:44:38.76 ]
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。


205 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 20:28:28.54 ]
>>202
ありがとうございます。これ良さそうです。

206 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 07:29:38.25 ]
ウィキ作った。
書くの手伝って。
goo.gl/5Isxp

207 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 08:22:43.87 ]
>>206
なんかいろんな言語スレに張ってるな。広告収入目当てか?

208 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 15:39:54.21 ]
>>206
ノートン先生大激怒

209 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 17:46:37.20 ]
現在のところ
delphiを無料で手に入れることはできるのでしょうか?
入門っていうか、少し興味があり今やっているpythonと同じく勉強してみたいのですが…

210 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:40:54.60 ]
>>209
つLazarus



211 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:57:53.18 ]
>>210
こんなのがあるんですね
なるほどです
Lazarusについていろいろ調べてみます

212 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 19:44:55.08 ]
>>209
trubo delphi exploreがあるよ。
vclソースももれなくついてくるよ。
フランスかどこかのミラーサイトがあるから入手可能よ。
736ファイルもそこにあるはずだよ。

213 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 19:58:53.73 ]
>>212
Turbo Delphi 6 Explorerのやつですね
情報ありがとうございます

214 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 21:42:00.58 ]
このスレで他ツール推めるのもアレだけど
今からはじめるならC# Express検討してみるのがいいと思う。
Win32APIなプラットフォームに拘りがあるならDelphiでもいいとは思うけど。

215 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 07:58:00.93 ]
C#wwwwwwwwwwwwwwwwwwwwwwww

216 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 20:21:22.41 ]
結果的に希望のアプリが作れるならC#でもいいじゃない
.NETの仕様に沿って完結できるならそんなに悪いものじゃないよ

217 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:46:06.46 ]
こういうアプリが作りたいという質問じゃないのに
希望のアプリがどうとか言い出す神経がそもそも異常だということを自覚した方がいい

218 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:18:50.00 ]
ちょっと分からないことがあるんですが、教えてください。

pngイメージを読み込んでBitmapにAssignするわけですが、
これを同じ変数Bitmapを使って繰り返した場合、
何か不都合があるんでしょうか?

100回を超えたあたりで、この部分で「リソースが...」とエラーが
出てしまうんですが?



219 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:28:32.83 ]
またエスパー待ちの質問か

220 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 06:21:47.05 ]
CreateしてんのにFreeしてないとかそういうオチだろ



221 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 07:04:55.57 ]
100個のpngファイルをロックするアプリケーションか……ゴクリ。。。

222 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 07:42:22.92 ]
メモリは無限にあるわけじゃないだろ どんだけドカ食いしてるんだよ
メモリリークしてるはずだから確かめてみな

223 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 12:13:08.52 ]
>>218
最近のなら
System.ReportMemoryLeaksOnShutdown := True;

以前のならFastMM入れてどーたらすれば開放し忘れのオブジェクトがあったら
警告してくれる。

そうじゃなく単に作り過ぎという事なら
自分もファイラーもどきのアプリ作った時Icon作りまくった時にリソース不足でエラーが出たことがあったな。
PNGインスタンスを管理してサイズか個数で制限かけて古いものから自動開放、
必要になったらまた読み込むというのを自動化してくれるキャッシュクラスを作ってみればいいかも知れない。

224 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 21:02:03.83 ]
delphiでポインタを使ってswap関数の実験をしてるのですが、うまくいきません。

メイン側
a:=1000;
b:=2000;
swap(@a,@b);


メソッド側
procedure swap(x:^integer;y:^integer);
var
z:integer;
begin
z:=y^;
y:=x^;
x^:=z;
end

Cみたいなやり方ではだめなんでしょうか。


225 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 21:10:57.64 ]
y^:=x^;

226 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 21:30:49.59 ]
^-^

227 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 01:31:38.44 ]
>>225
失礼。y^:=x^;のタイプミスでした。
しかし、procedureの中の^でエラーになるんです。

228 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 01:56:39.03 ]
うまくいかないとかエラーになるとか具体的な情報を書こうとしないのは
プログラマに向いていないタイプだな。
どういう風にうまくいかないのかとかエラーはコンパイル時なのか実行時なのか
どういうエラーメッセージが出るとか具体的な情報を書かないと。

229 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 02:19:35.81 ]
procedure Swap(a, b: PInteger);
var tmp: Integer;
begin
tmp := a^;
a^ := b^;
b^ := tmp;
end;

230 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 11:07:45.21 ]
varでいいじゃんっていう



231 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:14:12.12 ]
関数宣言の引数の型には、型名(と、いくつかの例外)しか
許さないので、^ は使えない。ポインタは型名で
使用できるようにするためにあらかじめ定義しておく。

232 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 21:03:51.39 ]
>>231
そうなんですか。
varで充分ことは足りるのですが、
一度やってみます。有難うございます。

233 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:51:32.03 ]
環境:Delphi XE2 Update4
TProcをフィールドに持つクラスを生成廃棄した時
FProc._Releaseを明示的に呼ばないとメモリリークするんですが
どう書くのが正しいというのはありますか。
イベントハンドラ替わりにこういう使い方は認められていないんでしょうか。

type
TCaller = class
FProc: TProc;
end;
var
c: TCaller;
begin
System.ReportMemoryLeaksOnShutdown := True;

c := TCaller.Create;
c.FProc:= procedure begin end;
// c.FProc._Release;
c.Free;
end.

---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:

13 - 20 bytes: Test$1354$ActRec x 1

---------------------------
OK
---------------------------

234 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:28:47.00 ]
2010でコピペして動かすとリークはしないな

235 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:30:08.00 ]
とりあえず、program のメインブロックの begin end. での
無名メソッドをやめ、一旦、手続きを呼び出せ。
|uses SysUtils;
|type
| TCaller = class
| FProc: TProc;
| end;
|var
| c: TCaller;
|procedure MyProc;
|begin
| c := TCaller.Create;
| c.FProc:= procedure begin end;
| c.Free;
|end;
|begin
| System.ReportMemoryLeaksOnShutdown := True;
| MyProc;
|end.


236 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 04:10:33.28 ]
D7でFireBird2.5とIBXでDBアプリを作っています
コード入力したマスターを参照項目で表示させているのですが
既にマスターに登録されているものについては表示されるのですが
レコードの入力の途中でマスター未登録のものを別画面を開いて登録しても
参照項目で表示されません
どうしたら表示されますか



237 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 22:48:22.80 ]
キャンペーンで配ってる本を買ったんだけど、金をドブに捨てた。

238 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 01:27:27.20 ]
>>236
そういうのはMLで質問するとDB大好きなおじさんたちが嬉々として教えてくれます

239 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 15:42:13.82 ]
データセットを別のデータモジュールあたりに分離させて
両方からそこを見に行けばいいじゃない

240 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/03(火) 17:05:18.39 ]
参照を更新し直さないと駄目な仕組みだとサーバーに負担掛かるので
過去履歴とかを参照する場合などにしか使わなくなったな。



241 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 14:22:31.00 ]
{$i}は使わないで
MyUtilsA.pas, MyUtilsB.pas, MyUtilsC.pasと複数ファイルに分かれているユニットを
uses MyUtils; だけで利用できるようにするやり方無いですか

242 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 16:28:59.46 ]
// MyUnits.pas
unit MyUnits;
interface
uses MyUnitsA, MyUnitsB, MyUnitsC;
type
TFoo = MyUnitsA.TFoo;
TBar = MyUnitsB.TBar;
const
MyConst1 = MyUnitC.MyConst1;
procedure MyGlobalProcA;
function MyGlobalVarA: Integer;
// 変数の書き込みはムリ。変数を書き換える関数を書く
procedure SetMyGlobalVarA(Val: Integer);

implementation
procedure MyGlobalProcA;
begin
MyUnitsA.MyGlobalProcA;
end;
function MyGlobalVarA: Integer;
begin
Result := MyUnitaA.MyGlobalA;
end;
procedure SetMyGlobalVarA(Val: Integer);
begin
MyUnitaA.MyGlobalA := Val;
end;

end.


243 名前: [―{}@{}@{}-] 営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 07:24:05.31 ]
exeと同じフォルダにiniファイルが無いと初回起動とみなすようにしているけど、
デバッグするのにいちいちiniファイルを消すのが面倒なので良い方法を知りませんか?

244 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 09:36:19.10 ]
デバッグ用のIFDEF使うとか
EXEの引数にそれ用のパラメータを用意するとか

245 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 10:43:43.94 ]
[SHIFT]が押されていたら初回起動と見なす

246 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 11:55:26.55 ]
それは嫌です

247 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 12:00:51.65 ]
[CTRL]が押されていたら初回起動と見なす

248 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 12:51:22.88 ]
Post BuildでINIファイルを削除する

249 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 13:28:55.82 ]
例えばLabel1.text := inttostr(random(100));
としてLabel2にも同じテキストを挿入したい時
Label2.text := Label1.text;
よりもスタイリッシュな書き方ってありますか?
或いは1行で2つのラベルに同じテキストを入れる方法とか

250 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:23:19.73 ]
>>249
変なとこで悩んでないで次に進め



251 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:38:14.98 ]
>>249
ふつうはそれで良し。
繰り返しあるようなら自前で関数つくるべし。
procedure SetLabel(A,B:TLabel; S:String);

252 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 15:59:09.93 ]
>>251
引数が初心者っぽいぞw

253 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 17:22:28.80 ]
ありがとうございます
確かに掘り下げてもよしない疑問でした

254 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/10(火) 21:28:07.80 ]
今時iniファイルなんて使ってんのかよ

255 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 07:41:11.69 ]
xmlってかw編集面倒じゃんw
まさかレジストリなうとかいわねーよなw

256 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 19:25:59.21 ]
iniは標準でメモ帳で開いてくれるけど、xmlはブラウザで開いちまうからな
初心者はその程度でも詰まったりするから、iniの方が使う側も作る側も楽

257 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 19:48:42.92 ]
jsonでいいんでねーの

258 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 21:54:53.14 ]
ねーわ

259 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:16:17.45 ]
sqliteでいいだろ

260 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 23:24:46.31 ]
わざわざDLL用意すんのかよw本末転倒だろjk



261 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:08:15.27 ]
Oracleあたりで落ち着こうぜみんな。

262 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 06:45:26.11 ]
で結局ini以外って何よ

263 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 07:12:08.90 ]
DOMストレージ

264 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:59:03.48 ]
ini嫌うのってまさに>>249と同じなんじゃねーのw

265 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 10:31:09.21 ]
スタイリッシュw

266 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 15:11:30.12 ]
CSV

267 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 18:12:37.79 ]
ちょっと教えてください。

プログラムの中でTWebBrowserを使ってるんですが、
これはメモリを大量消費するんで、対象Formごと
動的に作成するようにしたんです。

で、WebBrowserを貼り付けたFormをFreeしても
メモリがぜんぜん解放されないみたいなんですが
なんか特別な処理が必要なんでしょうか?

よろしくお願いします。

268 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 18:41:11.15 ]
キャッシュじゃない?
NavigateメソッドでnavNoWriteToCache使ってみるべし

269 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 19:08:40.44 ]
>>268
ありがとうございます。

さっそく試してみました。

8M → 50M のままだったのが
8M → 50M → 18M まで減少しました。



270 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 21:24:41.01 ]
俺の厚い胸板を騒がしてくれる質問最近ねぇな



271 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:51:51.67 ]
>>270
じゃあ質問。SSE2とかで最適化したいんですけど、どうしたらいいんでしょうか。

272 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:59:41.04 ]
しらん

はい次

273 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 00:07:48.97 ]
海の水はどうしてですか?

274 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 02:40:30.22 ]
おとうさん か おかあさん と いっしょ に あたま の びょういん に いこうね

はい次

275 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 03:25:09.52 ]
ttp://twitter.com/#!/kaitboy/status/190231289079676928
なぜDelphiで作るとかそういう話になるのかな。いまどきDelphiで作ってる人ってほとんどいないだろ。
なぜ世の開発者たちはDelphiから離れていったか、その理由を考えたことあるのかな。単なる生産性の
低さ、開発情報のなさ、開発環境のサポートへの不安からだよ。

276 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 05:54:05.57 ]
↑著作権違反

277 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 09:30:39.54 ]
自分の書き込みを転載することも違反かね。すごいもんだね。

278 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 10:38:49.68 ]
せっかくバカスレがあるんだからそっちでやれ

279 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:14:44.54 ]
>>277
証明できないのに自分の書き込みだと言い張る馬鹿もいるんですね

280 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:35:27.29 ]
サポートの不安wwww



281 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 01:19:52.57 ]
自身の能力の低さは言うまでも無いから書いてないんだね

282 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2012/04/14(土) 05:28:33.96 ]
単なる生産性の低さ
開発情報のなさ
開発環境のサポートへの不安

283 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 07:51:47.51 ]
生産性は抜群だけどねw

284 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 20:42:08.98 ]
TBitmapってどうしたらコピーできますか?

285 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 21:00:30.42 ]
新しく TBitmap Create して、Assign

286 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 21:21:48.69 ]
生産性抜群とか言ってるやつは経験たりないだけ。
昔の自分を見てるようでおまえの立ち位置が見える。

287 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 07:49:31.34 ]
スレチを繰り返すおまえをみてると
昔の自分を見てるようでおまえの立ち位置が見える。

288 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 10:18:07.81 ]
Delphiの生産性を否定するやつってグーグルなしじゃ何もできなさそうだよな

289 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 10:29:39.50 ]
.NET最高厨だろ。DLLヘルに落ちて氏ね

290 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 11:40:17.20 ]
自分の生産性の低さを道具のせいにする奴は総じてクズ



291 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 12:47:35.26 ]
まぁくだすれだからってそうくだをまくなよ。
初心者こなくなっちまうぞw

292 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 14:20:45.24 ]
道具がすべて同じ能力持ってると思ってるのか?どんだけ馬鹿なんだよ。
10年前のPC使って、おまえの能力で最新のアプリを快適に使えるもんなら使ってみろ馬鹿。

293 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 15:47:17.58 ]
いや、Delphi の能力は最低。

294 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 16:51:32.08 ]
確かに。Lazarusは最高だけどな。

295 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 18:51:51.71 ]
10年以上前のPCで流通系の電算室取りしきってるがダメなの?

296 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 02:46:29.10 ]
>>292
人間としての使えなさと道具の性能は関係ないよ底辺さん^^
何か思い当たることでもあったのかな?^^;

297 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 09:10:54.36 ]
10年前から何も変わってないような環境をいまだに生産性高いとか言ってるのは
自分が10年前から進歩してないことをアピールしてるだけなんだよ。
エンバカスレにも書いたように不満から新しいものが生まれてくるんだよ。
>>296
自分のレベルの低さアピールしておつかれ^^;

298 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 10:08:02.69 ]
>不満から新しいものが
C# のことかね。

いやエンバカがわしらの不満を解決してくれると信じている人がまだいるとは噴飯ものでありますな

299 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 10:38:38.16 ]
何百年たとうがいいものはいい。
ビル信者にはそれが分からんのですよ。
スレチはほっときましょうよ

300 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 10:40:28.57 ]
         ,,-―--、
        |:::::::::::::;;;ノ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        |::::::::::( 」 <  不満から新しいものが生まれてくるんだよ。
        ノノノ ヽ_l   \______________
       ,,-┴―┴- 、    ∩_
     /,|┌-[]─┐| \  (  ノ
      / ヽ| |  バ  | '、/\ / /
     / `./| |  カ  |  |\   /
     \ ヽ| lゝ    |  |  \__/
     \ |  ̄ ̄ ̄   |
      ⊂|______|
       |l_l i l_l |
       |   ┬    |




301 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 00:36:46.33 ]
なんか今の流れをブッちぎるようで申し訳ないけど

アプリAのフォーム上に、アプリBの画面を重ねて表示し、
外見上はあたかも一つのプログラムであるかのようにするって
可能でしょうか?

もちろん、両アプリともDelphiで作るものですが。

訳あって、機能の一部をまったく別アプリにしたいので
よろしくお願いします。


302 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 00:48:51.76 ]
アプリBのウィンドウをアプリAのウィンドウの子供にする

303 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 01:04:55.99 ]
>>302
さっそくありがとうございます

で、「ウィンドウの子供」って?

同じアプリ内だとParentプロパティを使ったことあるけど、
アプリ同士の親子って、何をどう操作するんですか?


304 名前:301 mailto:sage [2012/04/18(水) 01:33:12.49 ]
いろいろ調べてみたけど、下で議論してるようなことかな...

ttp://www.delphipages.com/forum/showthread.php?t=82363
ttp://forum.tuts4you.com/topic/14392-embed-form-into-other-apps-window-delphi/

自分にはちょっと難しいかも...

305 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 02:14:37.85 ]
>>301
あまりスマートな方法じゃないですが
別EXEの画面をフチなしで作って
もう一方のEXEから表示する位置をSendMessageで送って
その場所に画面を表示したらどうですか?

そのままだと多分[ALT]キーでシステムメニューは表示出来るので
移動・サイズ変更・終了など出来ないようにしないといけないですが。

306 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 02:28:13.56 ]
>>305
ありがとうございます。


自分の目的に一番かなってるのは以下の記事ですが、

ttp://www.mombu.com/programming/xbase/t-external-application-from-within-a-delphi-form-3234654.html

これがうまく機能しなかったら、>>305さんの方法でと思ってます。


307 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 11:38:35.12 ]
この手の質問良くあるけど、そいつらって
自分が作ってるものがどう使われるか知ってて開発してんの?

308 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 11:45:45.51 ]
まだいたのかスレチ君

309 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:32:21.12 ]
>>303
unit Unit1; // 親(アプリB 上でコントロールする方)

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ShellAPI, ExtCtrls, ComCtrls,
Unit2; // 子(アプリA 下でコントロールされる方)

type
TForm1 = class(TForm)
 〜〜〜〜〜


子アプリの方が「Unit2 Form2」とした場合
unit Unit2; // 子
TForm2 = class(TForm)

親側から → 子へは
Form2.Button1.OnClick(nil);
など Form2 から指定して書く。

310 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 01:35:54.66 ]
Unit2.pas を親側のプロジェクトに加えることを忘れずに



311 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 02:09:19.58 ]
それアプリじゃなくてフォーム分けてるだけでしょ
アプリを分けるって書いてあるんだけど、日本語読めない?
それともアプリやフォームっていう基本的な用語の意味が理解できてない?

312 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 04:16:21.77 ]
もっとはっきり目的を書けよ。
なにが訳あって別アプリにしたいだよ。
どうせネトゲの自動化とかだろw

313 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 12:20:35.16 ]
くだすれと知ってて聞いてるなら答えは「無理」
本気ならMLかフォーラムに逝け

314 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 12:32:33.86 ]
もう終わってるのにいつまで言ってんのお前ら

315 名前:301 mailto:sage [2012/04/19(木) 16:23:47.87 ]
えーーっと

コントロール上に別アプリを表示させたいって質問した者ですけど
結果を報告するのを忘れてすみませんでした。

>>312
別アプリにする理由は、上の方でTWebBrowserのメモリ解放について
質問したレス(>>267)に関連したものです。

TWebBrowserを貼り付けたForm(Google map関連のもの)を動的に作成し、
不要になったら解放しても、大量のメモリ(40MBとか)を解放してくれず、
ちょっと精神的によくないんで別アプリにしたいというわけです。

で結局、次スレのようにしました。


316 名前:301 mailto:sage [2012/04/19(木) 16:26:47.49 ]
chWND: hWND;
procedure TForm1.TabSheet2Show(Sender: TObject);
var
Count: Integer;
begin
if chWND <> 0 then exit;
WinExec(**別アプリのパス**, SW_HIDE);
try
Count := 0;
repeat
chWND := FindWindow(nil, '**別アプリのキャプション**');
if chWND = 0 then begin
inc(Count);
sleep(100);
end;
until (chWND <> 0) or (Count > 20);
if chWND <> 0 then begin
Windows.SetParent(chWND, TabSheet2.Handle );
Windows.MoveWindow(chWND, 0, 0, TabSheet2.ClientWidth, TabSheet2.ClientHeight, false);
ShowWindow(chWND, SW_SHOW);
SetForegroundWindow(chWND);
end else
ShowMessage('can not start app');
except
on Exception do PostMessage(chWND, WM_CLOSE, 0, 0);
end;
end;

317 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 17:15:26.11 ]
だからここは超初心者用
お前が来るところではない

318 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 19:28:47.53 ]
というかゲームなんかやること自体が人生の無駄遣いなんだから
仮にゲームでの不正目的でももともと無駄なものを取得しただけだから二重に無駄だよ

319 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 23:14:07.34 ]
Formのことをアプリと呼んでる人がいる(笑)

320 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 09:11:36.88 ]
>>317
そうだな、お前みたいな馬鹿では>>316みたいなソース貼られても頭悪くて理解できないもんな



321 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 10:00:53.97 ]
お前はなんで超初心者に絡んでるんだ?

322 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 10:28:45.87 ]
超初心者だらけのスレなんてなんか意味あんの?

323 名前:デフォルトの名無しさん [2012/04/20(金) 11:18:55.61 ]
                     /j
                   /__/ ‘,
                  //  ヽ  ', 、
                    //    ‘  ! ヽ             …わかった この話はやめよう
                /イ       ', l  ’
               iヘヘ,       l |  ’
               | nヘヘ _      | |   l            ハイ!! やめやめ
               | l_| | | ゝ ̄`ヽ | |〈 ̄ノ
               ゝソノノ   `ー‐' l ! ¨/
            n/7./7 ∧        j/ /     iヽiヽn
              |! |///7/:::ゝ   r===オ        | ! | |/~7
             i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ..     nl l .||/
             | | | | l {':j`i::::::::::::::::`ーr '         ||ー---{
              | '" ̄ ̄iノ .l::::::::::::::::::::::∧       | ゝ    ',
      , 一 r‐‐l   γ /、::::::::::::::::::::::::〉ー= ___  ヘ  ヽ   }
    / o  |!:::::}     / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ     ノ
   / o    ノ:::::∧   /ヽ  o  ヽ::::::::| o i::::::::ヽ、 /   /
   /    ノ::::::/    /::::::::ヽ  o  ヽ:::| o {::::::::::::::Υ   /


324 名前:デフォルトの名無しさん [2012/04/20(金) 11:19:38.02 ]
.,r‐--,,,_、                                   
.゙l゙'i、  `゙''-,,,,,,,,,,,,,,,,,_                         
: ゙l `'i、.,r‐-、,,`'-,、  `''ー、_                      
 ゙l ,/゛   `゙''''ミッ、   ゙゙'''-,、                  
  У        `!ヽ、    ._,,i、      ,,,,,、          
 /          ゙r゙l,   / ‘i、    { ゙i、          
 |              ゙'i゙l ./    |,    ゙l、 ゙l          
 |         _,,,,_  .゙'},. |   ,/ ゚i、    ゙l  ゙l、        
 ゙l         ,r'"` `゙゙''',゙',lri、,,/  .゙l    ゙l  ヽ        
 │     .|     .彳 ゚|″    |    .|  │       
  │     .ヽ_   _,,-°  `i、    .|    .,,゙l, .゙ケ'=ッ、    
  ゙l, ,,,,,,、    ̄ ̄     .゙l,-'シ'',!.゙l  ,/゜ ゙'i、 .}i、`.゙'i、    
   `'| `'i、            ,,,rン・'゙,,,-'i| .|  .l、,,」  ゙=    |    
    .゙ヽ, .゙!,          i″ ゙''i,   .l │ /" .゚┓     .|    
     ‘'''l"        ゙'-,,、゙l、 .,,「 |  ゙l、  ゜     .|    
       ゙l'-,、       `゙''゙‐'" ./   .ヽ       .|    
          |  ゙'ヽ,、        /    '゙l      .,ノ    
       ′   .~'―--―ー¬''"         ヽ-,   |、   
                            "    .l゙  

325 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 11:50:36.15 ]
ウルトラマンセブンとは古いな

326 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 16:58:57.09 ]
>>322
お前よりは意味あるんじゃねw

327 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 01:16:08.47 ]
じゃあ俺が超初心者の質問するよ。
interface ってbuilderでいうヘッダファイル?
delphiはなぜヘッダファイルがないの

328 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 01:51:05.44 ]
>>327
>delphiはなぜヘッダファイルがないの
あります。
命令文は {$INCLUDE filename}です。

329 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 13:55:58.39 ]
それヘッダじゃないよね
馬鹿なのかな

330 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 14:51:12.24 ]
>>329
>それヘッダじゃないよね
{$INCLUDE filename}はヘッダに書くことも可能です。

DelphiとC++ではヘッダファイル(インクルードファイル)の使用用途がまったく同じという訳ではないですが
だからといって、Delphiにヘッダファイル(インクルードファイル)が無いということにはならないでしょう。



331 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 16:03:12.02 ]
DelphiにC/C++でいうヘッダファイルはない。ヘッダファイルがない理由はusesで他のユニットの
interface部の内容を取り込む仕様だから。
$I($INCLUDE)はそのファイルの内容をその行に置き換えるという、Cの#includeと全く同じ意味を
持つが、言語仕様の差から同じ効果をもたらすわけではない。

332 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 17:49:30.84 ]
>>331
>interface部の内容を取り込む仕様だから。
それは必須ではないです。INCLUDEをC++と同じような用途で使用したいなら
//Project1.dprファイル
program Project1;
uses
SysUtils,
Dialogs;
{$INCLUDE filename.txt}
var
aaa: Taaa;
begin
aaa := Taaa.Create;
aaa.bbb;
aaa.Free;
end.

#filename.txtファイル
type
Taaa = class
procedure bbb;
end;

procedure Taaa.bbb;
begin
ShowMessage('Taaa.bbb');
end;
このようにUnitを使わずC++と同等程度の”効果をもたらす”書き方も出来ます。
(もちろん、こんな書き方を推奨しているわかではないですが)
>>327,331
解答を用意しているということは、これは質問ではなく自分の知識を自慢したいのですか?
それなら、ここは初心者のスレなので正確な質問と解答を書いた方がいいですよ。

333 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 18:15:54.72 ]
>>332
いろいろ教えて下さりありがとうごうざいます。
でも私327は331ではありませんので
そういうつもりはありません。

334 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 18:16:13.68 ]
そもそもCもヘッダファイル必須じゃねーし。
質問自体がおかしい。

335 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 18:18:13.15 ]
何度も同じこと書くの面倒だからまとめましょぐらいの意味しかないから
>328が正解

336 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 19:12:53.00 ]
やめて〜 わたしの美貌を巡って争わないでぇ

337 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 19:15:26.61 ]
>>333
>でも私327は331ではありませんので
そうなんですか、すみませんでした。

しかし、それならこの回答では求めていた解答と違いますよね?
質問をこんな感じに変えてみたらどうですか。(意図する質問と違っていたらすみません)

DelphiはINCLUDEがあるのに何故Unitを使うのか?
Unitを使った場合のメリット・デメリットや特徴は何か?

338 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 19:34:10.10 ]
いつのpascalから$include指令があったん?

339 名前:331 mailto:sage [2012/04/21(土) 20:28:13.46 ]
多分1から

>332
> それは必須ではないです。
意味不明。usesはC#のusing同様に宣言の内容を取り込むのであって、C/C++の
#INCLUDEのようにその行をファイル全体で置き換えるわけではない。
その例だと2カ所以上でfilename.txtを$INCLUDEした場合、Taaaが2回定義され、
しかも異なるものと解釈される、ってのはわかってるか?

> 解答を用意しているということは、これは質問ではなく自分の知識を自慢したいのですか?
> それなら、ここは初心者のスレなので正確な質問と解答を書いた方がいいですよ。
自分以外がみんな敵に見えるのは病気だよ?ちなみに>>327-330は俺じゃないから。

340 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:13:35.87 ]
このすれ超初心者しか閲覧禁止らしいから仕方ないよ



341 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:32:00.64 ]
>>340
そんなこといわないで。
経験豊かなオジサンたちが、delphi初心者にやさしく教えるスレなんだから。
素晴らしい言語であるdelphiを若手に広めるのが目的じゃないか。

342 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 12:05:28.58 ]
delphiもそうだったけれど大抵の言語のinclude文は単なるコピペなので、 ビルドスクリプトで
perl,pythonとかをサーバーから呼んで生成してからかますと結構手抜きができる。定数に日付
入れたり、クラス名にユニークな名前入れたり 特定条件でプロパティ変えたりとか

343 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 14:53:13.82 ]
FM関係のドキュメントが一杯出たんだって。
少しずつでも読まないといけないなー。積読・宿題が山積みー



344 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 15:07:45.51 ]
読む前に最初にやる事は、Delphi/FMに将来があるかを考えることだと思う。

345 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 16:06:47.33 ]
>>339
>意味不明。usesはC#のusing同様に宣言の内容を取り込むのであって、C/C++の
>#INCLUDEのようにその行をファイル全体で置き換えるわけではない。
ソースのファイル分割がUnit形式だけと限らないという意味です。
Unitを使った >interface部の内容を取り込む仕様だから。
この方法以外でもファイルを取り込めます。だからこの”取り込む仕様”だけが必須ではないと書きました。

>その例だと2カ所以上でfilename.txtを$INCLUDEした場合、Taaaが2回定義され、
>しかも異なるものと解釈される、ってのはわかってるか?
すみません、言いたいことの意図がわかりません。
インクルードファイルなので、記述されれば何回でもソースに展開されますし
それを認識して不具合なくソースを書くのは他の言語同様で当然のことだと思います。
それにUnit形式の場合でも、usesに二つ以上Unitを定義できないのもある意味同様だと思いますが。
すみませんが本当に、何を言いたいのかわかりません。

346 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 16:09:36.16 ]
馬鹿には無理

347 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 16:32:15.41 ]
>>345
おかしい質問にはおかしい答えしか出ない。
もうやめとけ。

348 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 17:06:10.26 ]
>345
> ソースのファイル分割がUnit形式だけと限らないという意味です。
必須じゃないという意味はわかった。初心者に説明して意味があるかどうかは別だけど。
ソースのファイル分割とユニット分割の違いって初心者に意味ないでしょ?混乱させるだけで。

> >その例だと2カ所以上でfilename.txtを$INCLUDEした場合、Taaaが2回定義され、
> >しかも異なるものと解釈される、ってのはわかってるか?
> すみません、言いたいことの意図がわかりません。
あー、やっぱりわかってないような。Unit1とUnit2の2つのユニットでfinename.txtを
$INCLUDEすると、Unit1.TaaaとUnit2.Taaaの2つのクラスが別のものとして
作られるのよ。C/C++では宣言(型宣言やプロトタイプ宣言)だけであれば
そんなことないでしょ?だからDelphiではこのようなことはしないの。

で、そういう普通しないことを初心者スレに書いて意味あるの?

>347
そりゃそうだ。

349 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 19:13:20.73 ]
>>348
>あー、やっぱりわかってないような。Unit1とUnit2の2つのユニットでfinename.txtを
>$INCLUDEすると、Unit1.TaaaとUnit2.Taaaの2つのクラスが別のものとして
>作られるのよ。
意図するところは判りました。
どうやら>>332の例が理解出来ていなかったようですね。
例はUnit形式を使わないでファイル分割を行う方法なので、”異なるものと解釈される”ことはありません。

あなたの言っているのは、プログラムをUnit形式を使ってファイル分割したあと
またそれをINCLUDEを使ってファイル分解する場合の事です。

350 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 19:56:14.01 ]
以後、放置でおながいします



351 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 03:49:48.83 ]
馬鹿と馬鹿が争うほど醜いものはないな

352 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 07:38:34.18 ]
一般の方はご存知無いやろうけど、青い銀行のATMの処理の結構な部分はDelphi6時代の
コードが今も利用されてて、ボーランド以降転々とする母屋のせいでライセンスとか保守とかが
極めて問題になっとる…らしいよ


353 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 08:51:40.58 ]
おーい
くだすれに長文は不要
初心者を遠ざけるだけ

354 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 09:07:02.73 ]
>>352
Lazarusで書き直せばいいやん

355 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 09:17:06.23 ]
>>352
転々って…1回しか変わってへんがな
ライセンスは引き継がれてるし

356 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 10:06:24.03 ]
ボーランドそのものが開発に参加していたのならともかく、Delphi は開発ツールでしかないしな。
どうすればライセンスとか保守に影響が出るのかがわからん。

だいたい Delphi6時代ってことは10年以上昔なわけで、逆に10年問題を先送りにしていた方が問題じゃないのか?

357 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 17:38:04.51 ]
そんなのこの業界じゃ日常なんだけどw
10年ならむしろ緩いだろw

358 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 17:41:15.63 ]
そりゃ未だにWin2k使ってるところもあるんだしな。
アプリなんかそれ以上に古いの使ってて当たり前だろう。
趣味じゃないから機能満たして安定してれば何も問題ない。

359 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 17:55:53.80 ]
素人はそれでもいいんだろうけどね > 358
ハードウェア追加になった時に OS どうするの?買えるの?コピー?
ハードが追加にならないとしたら、安定して問題もないのなら、どうやって食っていくんだ???

360 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 17:58:59.63 ]
という矛盾を普通に抱えているのがこの業界です



361 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 18:01:34.07 ]
ですよねー

362 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 22:11:03.66 ]
思考停止、乙。

363 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 22:50:50.86 ]
>>362
素人はそれでもいいんだろうけどね

364 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 23:02:18.07 ]
古いOSはダウングレードできないこともない。

365 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 00:22:17.35 ]
まあ、いまだにPC98使ってるとこもあるぐらいだから。

366 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 02:48:23.98 ]
XE1を使ってます。
フォルダの選択するためにはググったら SelectDirectory を使うと良いとありました。
SelectDirectory を使うには uses 節に Filectrl を記述すべきとあったのでコンパイルしてみると
 「[DCC 警告] Unit2.pas(7): W1005: ユニット 'FileCtrl' は特定のプラットフォームに固有のものです」
と出るのが気になります。この表示を消すにはどうすれば良いのでしょうか?

367 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 03:14:00.92 ]
>>366
Windows固有機能を使って、機能が実装されているので、他OSでは動かないよという警告。
他OSに移植しないなら、気にする必要はない。

警告を消すには、ソースファイルに、
{$WARN UNIT_PLATFORM OFF}
を追加する。

またはプロジェクトオプションで、Delphiコンパイラのヒントと警告から、ライブラリ依存のユニットの警告をFalseにする。

368 名前:デフォルトの名無しさん [2012/04/24(火) 08:42:58.03 ]
2007のIDEの環境設定に関して教えてください。

自作のコンポーネントとパッケージがあり、プロジェクトに組み込んであるのですが、
パッケージのdcuとbplのパスを[ライブラリパス]に追加して
パッケージのソースのパスを[ブラウザ検索パス]に追加してあります。
この状態だと、IDEのエディタ上で[ctrl+クリック]しても、その変数やユニットを
エディタで検索して開いてくれません。

ソースのパスを[ライブラリパス]に追加するとエディタで検索されるのですが、
この状態でコンパイルするとパッケージのソースまでコンパイルされてしまいます。

既存のVCLのコンポーネント郡の様に、エディタで自動検索はされるけどコンパイル対象には
ならないようにするにはどのように設定したら良いのでしょうか?


369 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 09:33:21.28 ]
できません。
方法はあるのでしょうが未公開です。

370 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 15:26:06.97 ]
dcpのパスは?



371 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 16:56:56.87 ]
Delphi7でUINT64定義するのやっぱ無理?


372 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 18:26:25.72 ]
どう定義するかによる

373 名前:368 mailto:sage [2012/04/24(火) 21:06:32.96 ]
>>370
dcpの出力パスは意識してなかったのでデフォルトだったのですが、
[ライブラリパス]にコンパイルしてみましたが動作は変わりませんでした。


374 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 22:03:22.20 ]
>>368
ReadOnly

375 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 00:44:03.93 ]
シンボリックな情報は、.dcu にもあるが、パッケージにした場合、
.dcp を使う。というか、逆にアプリケーションからは
パッケージの .dcu を見えないようにしておく。

パッケージを組み込んでいるということは、
アプリケーションにパッケージの .dcp をすでに
指定してあるということで解決しているはず。

ところで、デバッグのトレースとかで、
パッケージの関数の中に入っていけるの?

376 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 03:35:31.14 ]
>>368
>プロジェクトに組み込んであるのですが、
まず、プロジェクトから外したら?
まっ、それでも再構築したらdcuは更新されるけど。

そもそも何で、パッケージがコンパイルされたら駄目なの?
リリースポイントとか、ある特定時期のモジュールを残したいのなら
それはVSSやSubversionみたいなバージョン管理の話でしょう。

変更出来なくするとDelphiのUpdateとかでVCLが修正されても
その修正がパッケージに反映されなくなるよ。

それでも、どうしてもdcuを更新したくないのなら
Delphiインストール先のlibにdcuをいれ
ソース(pas)は\source\Win32\rtl\winとかに入れたら。

377 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 04:02:06.94 ]
初心者には厳しいなぁ。

378 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 09:15:19.42 ]
素人はそれでもいいんだろうけどね

379 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 16:02:30.93 ]
手持ちのXE2だとおそらく期待通りの動作をしている。

380 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:35:29.40 ]
素人はそれでもいいんだろうけどね



381 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 20:59:29.00 ]
さすが玄人は違うな

382 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 21:54:33.64 ]
delphiは玄人も使うのかい?
ぼくは初心者の言語だと思っていた。

383 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 22:49:23.07 ]
初心者の言語って???
どの言語だろうが最初は初心者に決まってるだろ
訳わからんことおっしゃる

384 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 06:22:08.51 ]
初心者に優しい言語って意味だろ

385 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 14:30:49.72 ]
バブゥ語

386 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 14:48:45.12 ]
言語は優しいがスレは厳しい

387 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 15:21:46.36 ]
>>385
タラちゃんにしか分からない超難解言語じゃないか

388 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 19:52:57.82 ]
どうやって食っていくんだ???

389 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 01:09:01.87 ]
新スレ立ってるよ

くだすれC++Builder(超初心者用)その5
toro.2ch.net/test/read.cgi/tech/1334982374/

Embarcadero RAD Studio/Delphi/C++Builder その2
toro.2ch.net/test/read.cgi/tech/1335177837/

390 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 10:08:22.24 ]
                     /j
                   /__/ ‘,
                  //  ヽ  ', 、
                    //    ‘  ! ヽ             …わかった この話はやめよう
                /イ       ', l  ’
               iヘヘ,       l |  ’
               | nヘヘ _      | |   l            ハイ!! やめやめ
               | l_| | | ゝ ̄`ヽ | |〈 ̄ノ
               ゝソノノ   `ー‐' l ! ¨/
            n/7./7 ∧        j/ /     iヽiヽn
              |! |///7/:::ゝ   r===オ        | ! | |/~7
             i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ..     nl l .||/
             | | | | l {':j`i::::::::::::::::`ーr '         ||ー---{
              | '" ̄ ̄iノ .l::::::::::::::::::::::∧       | ゝ    ',
      , 一 r‐‐l   γ /、::::::::::::::::::::::::〉ー= ___  ヘ  ヽ   }
    / o  |!:::::}     / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ     ノ
   / o    ノ:::::∧   /ヽ  o  ヽ::::::::| o i::::::::ヽ、 /   /
   /    ノ::::::/    /::::::::ヽ  o  ヽ:::| o {::::::::::::::Υ   /



391 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 11:06:19.05 ]
出てくるのおせーよw

392 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 22:14:20.80 ]
                  r、__                         / |
            ト、,'⌒/7ヽ┘'<i\/L-、,___            `'ー-‐''"   ヽ、_
             /:/ヽ!::|_」ヽ-ァ'_,,..,__   `´ ロ└、_    /i __            /
          〈::::! r「>''"     `ヽ、.,__  ロ i>、/::::__i/:::|    か ほ そ  |
         i .ノヽ|/ /  /  /      `ヽ.  ̄|/:::/」//i|    ァ  う ろ  |
         ト^Y/  /  /i  i    ;      ヽ、/::/´  `ヽ./   i |  が そ  ヽ!
         | 〈! ,'  /ヽ!、_ハ  /!   /   i  Yi',  ヽ. i    /! |  い ろ  >
         .! ノヘ.!  /,ゝ='、,/ | / |  _ハ_   |  ! i   ', '、/ | |  い  次  /
   ,. --,rく`"'ー'<ニ|o/〈 i'´ r!  レ'`ァ;=!ニ__ i  ,'  ハ |    i  `ヽ.,' |  ん ス  |
  i'二'/ i|    ノ. |/,,, ひ'ー'     i  r'; Yレ'i  〈 Y',   ハ    i  |  じ .レ   |
  { ‐-:!_,ハ.|   _/ ,ヘi7    '      ヽ- '_ノ o 。_,.ゝ/i  / ',    / ッ .ゃ. た   |〉
   `"'T´:::|   ! ./ニヘ.   i7´ ̄`ヽ.  U "/|/  ,イ ,ハ  ,'  i   ,'  ! ? な て  .',
     '、_/_,.-'"レ'レ' ! !へ.  !'    |  _,.ィ / イ .ノ' , '! ハ/ヽ!   .!     い. た   ヽ、_
           ヽ、Yレ'7> 、.,___,,.' r'´/ `ヽ./ / レ'   ,i  /      で      /
            r-、!:::}_レ'´i\,、!イ/      Y     ,. ' レ'       す     /
       __,,.. -‐ノ  ハ::::/`7i::::ヽ、_r     _ハ、_,,.. < _____  彡        〈
       \,_____`;rく rく  / ハ::::::::ト、   _,r'  '" ̄7'´ 〉ー、_ゝ,        ,.:'⌒ヽ
         _r-‐='ト、 ヽサ二7」ー-<フ>r、 i     /i__/ / /'〉|
     __,.r-''":r´く  `''ァー- :: 、.,___,.イ::::ヽく `ヽ、  ト、,_>-'、-'´i |


393 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 21:11:44.95 ]
XE2だとWASP周りのInterfaceは定義されてます?

394 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 21:12:32.61 ]
WASAPIだった

395 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 21:31:00.70 ]
なさそうですね

396 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:17:45.61 ]
そうですか

シコシココンバートしますわ

397 名前:デフォルトの名無しさん [2012/04/30(月) 13:29:45.24 ]
質問です。
Delphi(Delphi7)からコンソールアプリケーションを操作したいと思っています。

例えば、Delphiのプログラムから、すでに開いているDOSプロンプトに
DIRコマンドを送るみたいなことをしたいのですが、どのようにしたらできるのでしょうか?

C#だと
ProcessStartInfo g = new ProcessStartInfo();
みたいなのを作って操作できるようなんですが、
Delphiでする方法を探してみると
keybd_eventなどでDIRと送る方法みたいなのしか見付かりませんでした。

何か他に良い方法がありましたら教えていただけないでしょうか。

398 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 14:11:47.51 ]
>>397
ttp://wiki.freepascal.org/Executing_External_Programs/ja

399 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 17:36:12.42 ]
>>398
ありがとうございます。
Lazarusというものを初めて使ってみました。

ただ、自分が使い方をわかってないだけかもしれませんが
リンクの方法の場合、cmdでコンソールを起動した後
dirコマンドを入力ってできますか?

AProcess.CommandLine := 'cmd /c dir';

とかで起動させるのではなく、

AProcess.CommandLine := 'cmd';

で起動させた後、dirコマンドを打つとかがしたいです。

400 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 17:55:45.33 ]
> C#だと
> ProcessStartInfo g = new ProcessStartInfo();
> みたいなのを作って操作できるようなんですが、
これが思い違い。



401 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 17:58:53.97 ]
分からないならレスしなくていいです

402 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 18:10:14.15 ]
400が正解。ProcessStartInfoは関係ない。
他のウィンドウにキー入力を送るとかその辺の問題。
できなくはないがプログラムとしては三流でキモイ

403 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 18:38:58.17 ]
(別プロセスの)アプリケーションを操作…
という時点でDelphi言語やVCLかどうかではなく
Windowsのセキュリティに関連する知識が必要と思われ
くだすれレベルではない。

404 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 19:13:17.80 ]
>>399
ども、私も初心者ですが、検索してみたところ、パイプでの入出力に対応しているならば、
パイプというのとWriteFileというWIN32APIを使えば可能なようです。
パイプとかWriteFileで検索すれば、使用方法が見つかると思います。

405 名前:397 mailto:sage [2012/04/30(月) 20:05:21.96 ]
みなさんありがとうございます。
GalateaTalkというフリーの音声合成エンジンがあって
ttp://mahoro-ba.net/e1105.html
これを利用する場合、コマンドで

cd "gtalk.exeのあるフォルダ"
gtalk.exe -C ssm-win.conf //Ggtalk起動
set Text = こんにちは //読み上げ文字の入力
set Speak = NOW //で読み上げ

というコマンド処理が必要だったので。
ttp://mahoro-ba.net/e1206.html
の#Cのサンプルを見たらProcessStartInfoを作ってからいろいろしていたので
Delphiにも同様の処理ができないものかと質問した次第です。
こういった別プロセスを操作する方法は、あまりよい作法ではないんですね。
dllとかあれば使いたいところですが無くて。

>>404
ありがとうございます。
WriteFile検索してみます。

406 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:31:45.30 ]
どう見てもパイプです本当にありがとうございました

407 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:45:41.63 ]
別プロセスといっても、子プロセスに限っては例外ってことで。


408 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:13:26.15 ]
パイプつなげてdirした結果を受け取ればいいんでしょ
「anonymous pipe」でググって勉強せぇ

409 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:28:03.86 ]
JCLあたりでそんなのがあったような

410 名前:397 mailto:sage [2012/05/01(火) 07:22:01.82 ]
みなさん、ヒントいろいろ、ありがとうございます。



411 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 07:53:33.57 ]
動かしてみた感じだと結果は同じなんですが
Memo1.Lines.Clear; と Memo1.text :=''; の違いって厳密には
どう違うんでしょうか?

412 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 08:02:06.04 ]
>>411
ソースみなよ

413 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:05:22.89 ]
そんなレスする暇があったら自分で調べて教えてくれればいいのでは?

414 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 10:09:48.48 ]
厳密にはっつうことなら自分でソースを追ってみたほうがいいのでは?
デバッグ版DCU使う設定にしてF7(ステップイン)で。

415 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:37:28.86 ]
>>413
ここにソース上げろってかwwwwwwwwwwwwwwwwwwwwwww
非常識すぎるだろwwwwwwwwwwwwwwwwwwwwwwwwwwww
嫌なら完成したバイナリの比較でもしろw

416 名前:デフォルトの名無しさん [2012/05/01(火) 12:06:05.19 ]
>>412 ソース
Memo1.Lines.Clear;
Memo1.text :='';
同じなんですね

417 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 12:26:46.55 ]
初心者的にはどっちでも結果は同じだからそれでいい
TMemoを行ごとに扱うならLines.Clearを勧める

418 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 14:50:25.57 ]
>>417
初心者的にはって実際に同一のコードが呼ばれてるけど?
頭悪くない?

419 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 15:25:17.22 ]
学生でもない初心者がDelphiはじめようとすると最低いくらくらいお金かかるの?

420 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:01:45.97 ]
>>418
>同一のコードが呼ばれてるけど?
この違いわかる?
Memo1.Lines.Clear;
Memo1.Lines.text :='';
Memo1.text :='';

>頭悪くない?
自虐的自己紹介乙



421 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:03:06.25 ]
>>416
Memo1.text :='';の方がいろいろないみで速度が遅いかもね
正確にはバイナリ比較して見なければわからンけど

422 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:09:41.36 ]
>>419
Delphi XE2 Starter Edition という奴で、2万弱でしょう。

過去の資産がなくて、技術サポートも必要ないなら、
無償の FPC+Lazarus で間に合うかもしれません。

かつては無償版の Delphi もあり、僕も最近まで常用していたのですが、
開発環境の OS を Windows7 に移したところ使えなくなったので、
仕方なしに恐る恐る FPC+Lazarus に移行してみましたが、
不足に感じるところはありませんでした。

423 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:24:51.13 ]
初心者相手にコード検証までしてニヤニヤしてる
>>418 がキモイ

424 名前:419 mailto:sage [2012/05/01(火) 16:42:05.19 ]
>>422
情報ありがdクス

425 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:59:48.10 ]
>>419
ttp://www.embarcadero.com/jp/products/delphi/starter-faq

> Delphi StarterおよびC++Builder Starterのアップグレード価格はだれが利用できるのですか?
> アップグレード価格は、Delphi、C++Builder、Turbo Delphi、Turbo C++、あるいは他の有償
> または無償の任意のIDEやソフトウェア開発ツールを持っているユーザーが対象です。

ってことで14700円でOK。MSのC# Express Editionでもダウンロードしとけばいい。

426 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:14:14.87 ]
>>425
MSのC# Express EditionにDelphi付いてるんですか?

427 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:22:10.12 ]
>>426
ちゃうちゃう、アップグレードの適用対象になるために、何らかの開発ツールがいるから、
一番お手軽なC#EEでも用意しとけってこと。過去のDelphi/C++BuilderでもVSでも、
多分Eclipseでもいい。ちなみに何を持っているかのチェックはない。

428 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:48:15.86 ]
>>427
Lazarusでもいいっすかねw?

429 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:56:35.75 ]
こんなんあったのか
まだ5を使ってるオレ
最近C#ばっかだけど買ってしまうか

430 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 18:08:54.24 ]
>>528
ROM版N88-BASICでもかまわないと思います。



431 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 18:59:07.22 ]
基本機能すらそぎ落としてあるからStarterはやめとけ
あんなイライラするもん使うならC#でもDelphi7Proでもなんでも他の使っておいたほうが良い
買うなら頑張ってPro買え
色々ツールついててかなり使いでがあるよ
安く買う方法も(以下自粛

432 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 20:00:21.38 ]
そぎ落とされた基本機能と便利なツールって具体的には何?

433 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:20:43.31 ]
ライセンス形態が違うだろ。 starterは非営利のみ。儲かったらその上にしろという縛りがある。

434 名前:411 mailto:sage [2012/05/02(水) 05:26:31.09 ]
Memo1.text :=''; よりは Memo1.Lines.Clear; を使うべきということを覚えました。
ありがとうございました。

435 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 10:07:40.50 ]
どちらも最終的にはウィンドウメッセージを介すので
どちらかを使うべきということはないです。文脈に合った方で。
ただMemo1.Lines.ClearよりはMemo1.Clearの方がいいです。

436 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 11:57:20.20 ]
>>435
「べき」ではなく「ベター」が問題なんですけど

437 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 12:44:11.65 ]
>>435
短い文章に2つも嘘を入れるな。

438 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 14:17:11.00 ]
最新マシンなら、心配するような動作速度の低下や実行ファイルの肥大化はないので
どっちでもいい
というのが正解だろうね。それでは納得できないというのならバイナリ比較したり実験したりするしかない。

439 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:05:38.72 ]
>>437
どこが?

440 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:48:46.11 ]
>>436
質問者自身がそういう言い方してんだけど
>>434が読めない文盲ですか?哀れだね
他人の批判ばかりで直接回答しない馬鹿は黙ってたら?



441 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 23:19:25.32 ]
お前ら喧嘩好きだなぁw

442 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:43:54.66 ]
Delphi7PROでまだ生きていけそうだ

443 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 08:34:02.74 ]
それ即死だろ

444 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 09:20:48.70 ]
ゾンビ
死んでいると気づいていない。

某 ML に多数生息中

445 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:40:12.24 ]
そもそもDelphi自体息をしてない件について

446 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:49:23.68 ]
また倒産?

447 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 20:05:13.01 ]
日本では息してないようでも
ヨーロッパなどでは
大量に作られた業務用VB6製ソフトの代替えとして
Delphiの採用例が多いって本当?

448 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 21:22:40.20 ]
Delphiの対応言語は英語版、ドイツ語版、日本語版、フランス語版で
このうち日本語版以外はヨーロッパの言語だから、それなりに使われているのでは?

ロシアやブラジルとかでも比較的使われていると聞くけど対応言語がないのを見ると
使われているけど売れていないのか?(海賊版や不正使用?)

しかし2バイト文字の対応がいまいちの場合もあるが、こうして対応言語を見ると
2バイト文字は日本語だけで、それに対応しているだけでも有難いと思う。


449 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 22:20:53.72 ]
前から日本語版出してたらから、惰性かね。
日本語で情報出してる人なんてほんの少しだから、日本は全滅宣言だしても
いいっぽいよね。

450 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:40:12.06 ]
日本じゃ4〜5辺りがピークで6からは下降線だろ。
単にGUI的な意味で生産効率が高いのがいいなんて理由で開発されるソフト自体がないからなぁ。
今の状況ならスクリプトに毛が生えた程度の認識しかないだろ。
趣味でやるには投資金額とか大仰だし仕事でやるなら移植性考えるし。せめてバイナリの最適化できれば考えるけどな。





451 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:55:11.50 ]
趣味でバイナリの最適化求めるなんてすげぇな。俺は速度はそこまで気にしちゃいねぇけど。
まぁ、趣味だからこそアセンブラで高速化とかしてみたいとか人いるけど。
FMはどうでもいいけど、XE3に期待するか。2009でUnicode,ジェネリックス,2010で
新RTTI,匿名メソッド、XEが正規表現くらいのしょぼーん、XE2で64bitとLiveBindings

452 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:58:22.51 ]
つか、XE3よりXE4の方がいいかもね。XE4辺りで、Metroアプリくるとしたら、
WinRTのDelphiバインディングのため、Nullableとか、非同期あたりもそこらへんで
入ってくるのかなと予想してる。

453 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 00:43:41.36 ]
超初心者にRTTIなんていってもわかるわけなかろうにw

454 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 00:51:18.43 ]
今7だけどジェネリックスだけは欲しい
実際どうなん?

455 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:16:45.83 ]
あんま複雑な事しなければいけるけど、複雑な事するとコンパイル時に
内部エラーが出始めたり、で、IDE再起動するとなくなったりなくならなかったり。
後、IDEのエディタが追いついてなくて、いらいらしたり。

456 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:24:04.58 ]
なんだそりゃー
そのあたりのクオリティは相変わらずなのか

457 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 02:09:00.84 ]
次のXE3で、AndroidがサポートされFree Pascalがなくても
iOSアプリが作成出来るから(Macを買わなくてすむ)
久しぶりにDelphiを買ってみるかな。

458 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 06:43:54.14 ]
Lazarusでいいやん

459 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 09:06:20.38 ]
>>457
コンパイラがWin上で動いてもMacは必須

460 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 09:24:04.66 ]
var sl: TStringList;
begin
sl := TStringList.Create;
with using(sl) do;
...
end;

で自動解放に成功。tryf不要になるからまあまあ使いやすいな。
実装は簡単に思いつくだろう。



461 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 14:04:44.42 ]
with using(TStringList.Create) do
...
end;
の方が変数宣言も不要だし実装も楽
実装は簡単に思いつくけど460には思いつかなかったみたい

462 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 14:35:09.39 ]
IDisposableインターフェース使うってのは無しね
OSが変わると使えないから


463 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 14:37:32.21 ]
Delphiのインターフェース実装にOS依存あったか?

464 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 15:03:56.19 ]
Lazarusでは -gh オプションでメモリリーク見つけてくれるよ!

465 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 15:09:04.95 ]
>>464
ほう今はこんな物がフリーであるのか
これDelphiと比べて互換性と生成する実行ファイルサイズはどんな感じ?

466 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 20:35:52.16 ]
フリーに互換性は求めなさんな

467 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:51:53.47 ]
ご本家 Delphi もバージョン間互換性がひくいからなぁ

468 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:40:24.05 ]
そうか?他の環境に比べたらかなり高めだと思うが

469 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 06:34:39.39 ]
プッ

470 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 10:12:11.16 ]
上手に放屁できましたね^^



471 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 13:05:22.15 ]
>>469
くせえw

472 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:42:56.99 ]
GCないと戦えません

473 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:09:37.33 ]
GCうぜえとおもうときもある
勝手なもんである

474 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:34:46.48 ]
>>472
>GCないと戦えません
自分で作ったら。

昔作ったときはレスポンスが気になって使うのやめたけど
大きくないアプリなら大丈夫じゃないかな?

475 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:37:43.56 ]
GCって何?

476 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:50:05.52 ]
グランドチャンピオン

477 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 01:01:12.60 ]
継続企業の前提

478 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 05:04:36.57 ]
ガーベジ・コレクション

479 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 06:29:39.84 ]
GC やったら既存のコードは全滅だろ?
だから政治的にできない

480 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 06:54:42.01 ]
というか自分で実装すればいいだけじゃんw
GCの仕組み知らないへぼプログラマってだけだろw



481 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 07:27:14.35 ]
>自分で実装すればいいだけ
すべてのコードが自分のコードならな。共同作業にそんなの持ち込まないでくれよな。
俺がお前の同僚なら、そんな危険なコードを持ち込むな。自慰行為は自分の家でやれ。っていうよ。


482 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 07:44:47.00 ]
>>481
危険てw
どんだけ無知なんだよw
プログラマやめたほうがいいよw

483 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 07:46:41.06 ]
>>481
馬鹿しかいないチームなんだな

484 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 08:59:53.80 ]
GCがなければメモリリーク起こす糞ソース書くやつってw

485 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 09:11:53.34 ]
Lazarusでは -gh オプションでメモリリーク見つけてくれるよ!


486 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 09:21:15.21 ]
もう、無駄な討論やめようぜ。エンバカの前スレあたりであった流れと同じ展開だな。

487 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 09:57:35.96 ]
エンバカの前スレの連中が逃げ込んできたんでしょ

GC があると中間メモリ消費量爆発問題とか考えないトンデモコードが増えるので正直やめてほしい
とりあえず ReportMemoryLeaksOnShutdown := True にしてみるんだな。
Lazarus というか FPC のコンパイルオプションだ。 FastMM のデバッグバージョンのパチもの。

488 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 10:44:22.92 ]
シングルスレッドアプリならいいけど、マルチスレッドアプリしか最近作ってない俺には
GCないとだるすぎるんだよね。GCあっても同時実行される部分は保護しなきゃいけないのはこれはGCとは
関係ないからやるのはいいんだけど、GCないとオブジェクトの解放タイミング合わせなきゃ
いけなくて、やってらんないんだよな。とりあえず、ユーザー定義のオブジェクトは今はInterfaceベースにして
逃げてるけど。

489 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 10:44:54.25 ]
とりあえずGCをろくに知らずにGC欲しいとか叫んでも無駄w

490 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 10:45:51.54 ]
>>488
だから自分で実装しろよ。多くて20行ぐらいだろ



491 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 10:47:27.93 ]
>>487
禿同。定期的スイープで動作も重くなる品。

492 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 10:48:25.64 ]
20行程度のコードでは自動解放が関の山。それも既存コードと衝突しまくりでバグだらけ。
コンパクションできるようになってから議論に戻ってね。

493 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 10:51:42.45 ]
ロートルの馬鹿議論は馬鹿スレでやってくれ

494 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 11:17:46.32 ]
だから、エンバカウオッチャスレの前スレ読めっておまえら。メモリモネージャとっかえて
できる・できないの話はどうだっていいんだよ。>>481が言うみたくオナニーは
家でやれよ。おまえらに欠けてるのはすぐにできる・できないの話しかしなくて
生産性とか信頼性とか全く考えてない事。おまえらはオナニーを他人に見せつけようと
必死すぎるんだよ。

495 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 11:24:38.54 ]
ロートルの馬鹿議論は馬鹿スレでやってくれ

496 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 11:57:56.83 ]
XE3出たか?

497 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 13:19:21.41 ]
                     /j
                   /__/ ‘,
                  //  ヽ  ', 、
                    //    ‘  ! ヽ             …わかった この話は続けよう
                /イ       ', l  ’
               iヘヘ,       l |  ’
               | nヘヘ _      | |   l            ハイ!! もっとやれ
               | l_| | | ゝ ̄`ヽ | |〈 ̄ノ
               ゝソノノ   `ー‐' l ! ¨/
            n/7./7 ∧        j/ /     iヽiヽn
              |! |///7/:::ゝ   r===オ        | ! | |/~7
             i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ..     nl l .||/
             | | | | l {':j`i::::::::::::::::`ーr '         ||ー---{
              | '" ̄ ̄iノ .l::::::::::::::::::::::∧       | ゝ    ',
      , 一 r‐‐l   γ /、::::::::::::::::::::::::〉ー= ___  ヘ  ヽ   }
    / o  |!:::::}     / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ     ノ
   / o    ノ:::::∧   /ヽ  o  ヽ::::::::| o i::::::::ヽ、 /   /
   /    ノ::::::/    /::::::::ヽ  o  ヽ:::| o {::::::::::::::Υ   /

498 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 13:54:21.25 ]
文末にwをつける彼が問題なんだって。彼の性格を表す典型的なやりとりが>>447から>>457
平和にレスが進んで他の人は自分の意見・考えや質問がメインで発言してるのに、
453 :デフォルトの名無しさん:2012/05/04(金) 00:43:41.36
超初心者にRTTIなんていってもわかるわけなかろうにw
彼だけは、自分のすごさをアピールするしか、頭にない。
誰もそんな事興味ねぇし、二の次だから基本彼は放置されてるが、遂に>>481が虎の尾を
踏んで、後は、>>482,>>484,>>489で彼がぶち切れる。
彼がこの違いに気づかなければ、また起こるだろう。

499 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:04:17.84 ]
長駄文乙w

500 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:08:35.83 ]
441 :デフォルトの名無しさん:2012/05/02(水) 23:19:25.32
  お前ら喧嘩好きだなぁw
自分が喧嘩してるじゃんw



501 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:08:50.27 ]
GC厨はそもそもスレ違い

502 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:33:38.39 ]
ガベージコレクションってそんなに簡単にできるものなん?
そんなに簡単なら、なんで標準装備してくれないの?

503 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:39:53.29 ]
この状況でその話を蒸し返すとはつわものめ。

504 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:55:47.48 ]
珍しく伸びてると思ったらGCGCって・・・
ウォシュレット付きの最新便器でもウンコしたら自分で手洗うだろ?
そこまで自分でやりたくないのか?
ウンコ着いたらしっかり洗えよ自分で

505 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 15:48:54.92 ]
>なんで標準装備してくれないの?
互換性。


506 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 15:54:40.33 ]
軽量rubyソースコード公開
ttp://el.jibun.atmarkit.co.jp/rails/2012/04/rubymruby-2004.html


507 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 15:59:19.01 ]
>>502
簡単なものなら、多少のDelphi経験があれば作れるよ。

メモリーマネージャ(MM)との間にアダプターを噛ませて
メモリー確保と解放を記憶しておき、終了時に解放されていなければ解放するだけなら。

でも、メモリを使うたびに記憶するからレスポンスは遅くなるし終了時にしか解放されない。
それに、OSがWindowsならプロセス終了時に解放してくれるから有り難みは少ない。

PascalやC/C++みたいにスピード重視だと「標準装備」ちょっとって感じかな。

508 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:55:59.65 ]
徹頭徹尾無内容な長文書く才能は素直に認めるから
そろそろ隔離されてくれるとありがたい。

509 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 19:00:33.35 ]
3DCG製作にあんまり興味がないのに、Blenderの勉強から始めないといけなくて、
じゃあもっと簡単なアプリを作ろうかと思うとMACで何かやっているビデオを延々と見せられて、
ビジネスアプリのデモはピザとか家具とかで、そんなの作らないし。
FireMonkeyはハードルが高いな。

510 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 19:14:18.25 ]
>>507
なるほど、そうやって作るんだ。



511 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 20:25:19.97 ]
>>510
一般的なGCの作り方とは全然違うというか、そもそもGCですらないよ
簡単なメモリリーク検出機能の作り方と言った方が正しい
動作的には検出ついでに解放しているに過ぎないし

512 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:10:40.10 ]
>>511
お前には誰も聞いてない。
他の奴のケチだけ付けて、自分では何一つ生産的ことを言えない。

そろそろこんな奴、隔離されてくれるとありがたい。


513 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:14:33.19 ]
>動作的には検出ついでに解放しているに過ぎないし
検出して解放するのをGCというのだが、コイツはバカ?


514 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:27:29.69 ]
この惨めなおっちゃんにもうちょっとましな暇の潰し方が見つかりますように…

515 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:48:20.26 ]
なんか荒れてるけどスレタイに沿って超低レベル質問を・・・

Delphi6 Personalを使ってWindowsXP上で色々と試している最中なんですが
アプリケーションのFormの右上に出てくる×ボタンを押した時、
なんのイベントが発生するのでしょうか。

×ボタンを押したらonCloseに設定した正常終了の流れに
載せたいのに、無視されてそのまま終了してしまふ


516 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 22:00:46.91 ]
OnCloseQuery→OnClose→OnDestroy

517 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 22:06:49.63 ]
>>512,>>513,>>514
文末にwつけるの忘れてるぞ。
>>481でカチンときて一人で怒ってるのはおまえだけだろ。3連続投稿して
よほどくやしかったのかよ(笑)。

518 名前:515 mailto:sage [2012/05/07(月) 22:42:54.54 ]
>>516
ありがたふ
・・・OnClose通ってたんですね。俺は何を勘違いしたんだろう

519 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 08:26:42.99 ]
くだらないレベルの質問するなよ
答えるほうもどうかしてる

520 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 08:28:55.93 ]
>>519
スレタイ嫁



521 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 09:22:42.97 ]
最近本当にVBの方が優れてるよね

522 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 09:27:14.91 ]
VB はクソ。C# つかえ


523 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 09:56:42.34 ]
C#は中間言語なんでちょっと抵抗が。

524 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 10:19:09.02 ]
違いが判るようなやつは 2ch には来ない


525 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 10:29:32.10 ]
.NET Frameworkってwindows7なら最初っから入ってる?
C#ってアプリ配布がめんどくさい

526 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 10:30:12.03 ]
>>513
>>507は終了時に「未だに使われたまま」のメモリを解放するわけでしょ?
使われていないメモリを検出して解放するのとは全然違うじゃん

527 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 10:33:44.37 ]
>>525
バージョンによる

528 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:01:50.19 ]
>C#ってアプリ配布がめんどくさい
まともなインストーラー使え。
または .config ファイル書いて必要な Runtime 自動で落とすようにしなさい。
まぁたいていの環境では既にインストール済みだが。

デルは実行ファイルの大きさがでかすぎるのが致命的

529 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:12:16.44 ]
> デルは実行ファイルの大きさがでかすぎるのが致命的
昔から言われてるけどHDDとかの容量考えたら、そんなに気にすることでもないんじゃないの?
実際本格的なアプリ作ったらどれくらいになるの?


530 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:27:13.47 ]
実行時のワーキングセットが大きいと、キャシュからあふれて速度低下がおきるぜ



531 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:26:33.73 ]
うちの会社では入力系のプログラムが実行時パッケージを使わないで一番大き
くて約7.3メガ

532 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:43:35.79 ]
でかいね
社内配布だから大きくてよい
て理由なら、
社内使用だから .NET ランタイムのインストールは前提で良い
て理由も通るな。

533 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:16:16.74 ]
>>526
GCとは、”不要”になった領域を自動的に解放する機能。

534 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:21:05.85 ]
デルの実行ファイルが大きい理由って、使ってないVCLとかも含むから?

535 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:51:47.72 ]
デルはVCL使用しなければ小さくなる


536 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 13:10:04.88 ]
それなら FPC/らざるすでも良いな。


537 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:35:50.02 ]
>>533
そうだなんだよな。だから>>507はGCとは言えない。
どういう手法のGCも、ルートが生きてて参照も残ったままの領域は不要かどうか判断ができないからな。
不要になったメモリとリークしてるメモリは全然別物だという認識が無いんだろうね。

Wikipediaにもこういう記述がある。
>ただしガベージコレクションにおいても、今後使用することのないオブジェクトへのポインタを
>いつまでも保持しているようなコードでは、いつまでもオブジェクトが解放されず、メモリ不足を起こしてしまう。
>これは論理的な設計の問題であり、ガベージコレクションを持つ処理系においてもこの種のメモリリークは発生する。
GCがあっても発生するようなリークを、終了時にまとめて解放する処理がGCだなんて言えるわけがない。
まだゴチャゴチャ言うんだったら、まずこの記述を「正しい」記述に書き換えて欲しいね。

538 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:41:14.99 ]
>>536
あっちは何もしなくてもDelphiよりでかい

539 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:21:13.11 ]
>>537
>ただしガベージコレクションにおいても、今後使用することのないオブジェクトへのポインタをいつまでも保持しているようなコードでは、
>いつまでもオブジェクトが解放されず、メモリ不足を起こしてしまう。これは論理的な設計の問題であり、
>ガベージコレクションを持つ処理系においてもこの種のメモリリークは発生する。
Wikipediaの要約:GCにおいても論理的な設計の問題でメモリリークは発生する。

>GCがあっても発生するようなリークを、終了時にまとめて解放する処理がGCだなんて言えるわけがない。
上のWikipediaとまったく関係がない。上はGCでもメモリリークは発生すると書いてあるだけ。
それを「終了時にまとめて解放するのがGCではない」と、どうしたら読み取れるんだ?
そもそも前半の「GCがあっても発生するようなリークを」と後半の「終了時にまとめて解放する処理がGCだなんて言えるわけがない」が繋がっていない。
論理的思考が欠如している。

>まだゴチャゴチャ言うんだったら、まずこの記述を「正しい」記述に書き換えて欲しいね。
Wikipediaは正しく書いてある。読み手の問題。

540 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:27:11.60 ]
>>537
脳内変換が凄w



541 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 05:24:08.88 ]
>>538
付属のstrip.exeを使うとよいよ

542 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 07:12:14.55 ]
そろそろスレチだと気づいてくれ。

543 名前:デフォルトの名無しさん [2012/05/09(水) 11:51:15.08 ]
delphi6 personalをインストールしたいのですがググってもリンクが切れてるページしか出てきません。
どなたかダウンロードできるページを張っていただけませんか?

544 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 11:58:53.53 ]
GC キチガイは RAN かな Fusa かな?

545 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 12:01:43.52 ]
あいつら以外にもバカはたくさんいるだろ?

546 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 12:19:23.48 ]
バカでも、日本語が読めないバカは少ないだろう?

547 名前:デフォルトの名無しさん [2012/05/09(水) 12:49:50.02 ]
質問させてください。
TIdTelnetを使って開発しています。
例えばAとBというパソコンで開発していたとして、
IdTelnetのプロパティを適切に設定した後、

procedure TForm1.FormCreate(Sender: TObject);
begin
 IdTelnet1.Connect();
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 IdTelnet1.Disconnect;
end;

上のコードをAのパソコンで実行すると全く問題なく動くのですが、
Bのパソコンで実行すると、IdTelnet1.Disconnect;のところで以下のようなエラーが出ます。
---------------------------
プロジェクト Project1.exe が EAccessViolation クラスの例外を生成しました。
'モジュール 'Project1.exe' のアドレス 00459D8C でアドレス 0000006C に対する読み込み違反がおきました。'
---------------------------

これの原因としては、どのようなことが考えられるのでしょうか?
一方ではうまくいくのに、もう一方ではエラーが出るというのがよく分らなくて。
PC側の設定とかでしょうか。

548 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 14:13:54.55 ]
XE3 でたか?

549 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 14:48:26.89 ]
Disconnectするまでは動いてるってこと? その部分だけが問題ならトラップして無視すればいいだろ

550 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 15:01:32.78 ]
Cというパソコンで実行してみて、その結果がAと同じかBと同じかによって、
A&C と B&C との共通点と相違点を探る。



551 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 18:04:13.89 ]
>その部分だけが問題ならトラップして無視すればいいだろ
そんなヤツの作ったプログラムは使いたくないなぁ...


552 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 18:04:29.82 ]
ありがとうございます。
>>549
はい、Disconnectするまでは普通に動いてます。
自分でもいろいろ、原因を探ってみたのですが、そうするしかなさそうです。
>>550
いまんとこ2台しかPCがないのですが、今度別のPCで試さしてもらおうと思います。

553 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:23:38.58 ]
>>543
ttp://delwiki.info/

554 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 13:16:03.93 ]
D7でつくったDBアプリを数台のクライアントに入れてるんですが
アップデートするたびにいちいち全部に入れて回るの面倒なので
簡単に配布する方法ってないですか
更新するのはEXEファイル1つだけです
ネットワークの構成は2008サーバーとクライアントにwin7が5台です

555 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 13:25:40.35 ]
>>554
localserver/yourapp/latest.txt調べて
バージョンが食い違ってたらwget yourapp.exeでダウンロードして
taskkill /im yourapp.exeしてexe上書きして再起動
みたいなスクリプトをクライアント側で走らせておくしか

556 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 14:32:47.91 ]
XE3出たか?

557 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 14:56:08.79 ]
>>554
共有フォルダを作って毎回xcopyしてからexeを起動する

558 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:15:44.97 ]
もっと簡単に配布する方法ってないですか?

559 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:23:49.22 ]
>>558
自分でも少しはアイデア出せよ

560 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:45:34.44 ]
リモートデスクトップ



561 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:52:56.43 ]
クライアントにアップデートボタンをつける
押す→ランチャー起動→クライアント終了
WEBからコピーしてくる→クライアント上書き
クライアント再起動→ランチャー終了

これでおk

562 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 16:01:31.97 ]
コード書かないで、コンポ一発でできないものでしょうかねぇ

563 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 16:35:09.36 ]
だめだこりゃ

564 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 16:45:16.39 ]
XE3出たか?

565 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 17:25:02.05 ]
JavaWebStartで作り直せ

566 名前:デフォルトの名無しさん [2012/05/10(木) 19:31:10.43 ]
>>554
クライアントPCでDBアプリを直接起動させるんじゃなくてさ

DBアプリのバージョンを確認してからDBアプリをShellExecute 起動させるか
上位バージョンがあったらコピーしてきてからShellExecute させる実行ファイルを作って使ってもらえばええがな


567 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 20:22:16.54 ]
AppWaveという手も

568 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 23:11:42.92 ]
.NET なら配布簡単だよ

569 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:15:11.72 ]
そーだね

570 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:25:14.03 ]
馬鹿には無理



571 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 01:20:56.82 ]
そーだね

572 名前:554 mailto:sage [2012/05/11(金) 02:18:28.41 ]
色々な意見ありがとうございました
これから試してみます

573 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 02:58:41.63 ]
XE3出たか?

574 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 05:56:34.91 ]
XE3出たか?

575 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 06:59:43.39 ]
XE3出たか?

576 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 07:09:37.43 ]
夜型ですね

577 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 08:06:54.60 ]
多い日の夜用薄型

578 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 10:16:30.81 ]
Tiobe で Ruby にも抜かれきったか

579 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 12:33:59.91 ]
さすがにPL/SQLには勝つだろ

580 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 15:13:20.03 ]
XE3出たか?



581 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 19:14:22.58 ]
>>579
www.tiobe.com/index.php/content/paperinfo/tpci/index.html
いゃ〜、日本国内でもDelphiよりPL/SQLの方が案件は多い。
しかしVBとBasicが同じで、DelphiとPascalを分けてカウントしているのは納得出来ない。

582 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 21:30:43.68 ]
Delphi7を使用してます。
プロジェクト内にあるフォーム&ソースをコピーして新規フォームを
作りたいのですが、スマートに行う方法はないでしょうか。

今は、フォームAからフォームA'を作成する際
新規フォーム作成,A'に名称変更→フォームAのコンポーネントをA'にコピペ→
フォームAのPASをA'にコピペして名称置換 とやっているのですが、
もっとまともなやり方があるような・・・

583 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 22:07:44.95 ]
フォームの継承とか言ってくる奴がいると思うが
絶対に耳を貸すんじゃないぞ。

584 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 22:39:27.96 ]
フレームでやれ

585 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 23:15:00.39 ]
>>582
コピーであって継承ではない、というのは意味わかってやってんだよね?

フォームAの.pasと.dfmを別ファイルにコピーして新しいユニット名に合わせたファイル名にして、
この状態でエディタで.pasと.dfmを開いて、.pasの先頭のユニット名をファイル名に変更、
.pasにあるフォームクラス(TForm1とか)を新しいものに一括置換、その下にあるフォームの
変数(Form1)をフォームクラス名に合わせたものに変更、.dfmの先頭の
object フォーム変数名: フォームクラス名の部分を上に合わせて変更、これでエディタを終了、
IDEでプロジェクトにこのユニットを追加、という手順でいいはず。

586 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 23:57:09.06 ]
>>585
アホだな〜w、ファイル名とUnit名だけ変えればいいだよ。
カプセル化とかの概念を理解出来ている?

587 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:00:05.87 ]
>Delphi7

588 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:20:03.83 ]
>>586
まあそれもそうだな。ユニット名以外はあとでIDEで変えれば問題ないか。
カプセル化の概念とはあんまり関係ないけど。最近知った言葉だから使ってみたかったの?

589 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:27:21.03 ]
AをA'にリネームしてから名前を付けて保存
プロジェクトを保存せずに閉じる
再びプロジェクトを開いてA'をプロジェクトに追加
俺はいつもこうやってるけどなんか問題ある?
うっかりAを上書き保存しちゃうとかプロジェクトを保存しちゃうと涙目になるけど

590 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:32:06.39 ]
>>588
やっぱりアホだ〜w、Unit名だけが変わっていればいいんだよ。
Unit自体がカプセル化だと理解出来ていないだろうw



591 名前:デフォルトの名無しさん [2012/05/13(日) 01:55:46.00 ]
>>585
似たようなプログラムを量産する時は、
フォルダにベースとなるプロジェクトを作っておいて
後は新規フォルダにコピーして作ってる(プロジェクト名だけ別にして保存)

Unit1.pas などの構成する名前は共通にしてるよ
TForm1.〜
そうすると関数の使いまわしが楽だから
WHD を使って相互にデータをやりとりするようなのは、TForm1.〜 も変更してるが
Form1.Caption なんかも const で書いてFormCreate で入れるようにしてる。


592 名前:582 mailto:sage [2012/05/13(日) 10:07:11.98 ]
>>583-591
ありがとうございます。

>>589氏のやり方をしていて、修正後うっかりF9押して自動保存→涙目
はやったことが・・・

今回はベースとなるものをある程度作ってあるので
>>585氏のやり方を使わせていただいて
今後同じようなことがある場合は
>>584,591氏の方法を合わせて使わせて頂きます。

ありがとうございました。

593 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 12:22:26.85 ]
つーかコピーしたいユニットをIDEから名前付けて別名で保存→元の名前のユニットをプロジェクトに追加でよくね?

594 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 20:55:44.11 ]
それが普通じゃないのかw

595 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 21:41:17.24 ]
アホだ〜とか言いながら普通のことを難しくやる人がこのスレにはいるからなw

596 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 21:42:36.77 ]
インスタントラーメンを作るのにいちいち講釈たれるようなもんだな

597 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 22:36:37.26 ]
アホだな〜w、カップヌードルにお湯入れたらセロハンテープ貼ればいいだよ。
蓋を閉じるって概念を理解出来ている?

つーかシール付いてんじゃん

こうですか?分かりません><

598 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 23:11:21.16 ]
漏れはシール捨てて蓋の端に箸乗せてるだけだわ


599 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 00:15:54.35 ]
>>594-598
惨めにアホの上塗りか〜w、お前は、本当に可哀想だなw。

結果が「ファイル名とUnit名だけ変えればいい」で
その為の手段が「名前付けて保存」なんだよ。

結果と手段も分からんバカとはw

600 名前:デフォルトの名無しさん [2012/05/14(月) 09:41:33.21 ]
delphi6 personalのインストーラをダウンロードしたけど、
インストール番号とキーがわからないからインストールできないです。

誰か助けて。



601 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 10:28:47.52 ]
馬鹿には無理

602 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 11:07:44.18 ]
C#でもやればいいんじゃないですか?(笑)

603 名前:デフォルトの名無しさん [2012/05/14(月) 11:09:11.43 ]
>>601

うるせぇ。平日のこんな時間から暇なことしてんな。
早く、勉強か仕事に戻るんだ。

604 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 11:26:06.58 ]
ほらよ
www.dotup.org/uploda/www.dotup.org2977741.zip.html

605 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 13:24:46.80 ]
>>599
ファイル名だけ変えればUnit名も変わるから、
「ファイル名とUnit名だけ変えればいい」って書くのはおかしいね
馬鹿なんだね

606 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 13:37:59.47 ]
>>599みたいに後から「実は知ってたけど」って書くのが一番恥ずかしいわ。
必死に煽って自分の惨めさを誤魔化してるようだけど。
この後も必死に言い訳するんだろうけど頑張ってね。

607 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 14:21:29.46 ]
馬鹿には無理

608 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 16:54:15.51 ]
>>605-607
今日もアホだな〜w

>>582への回答じゃなく>>585への
突っ込みで書いたんだから>>586でいいんだよ。

>>585みたいなアホの事を書いたからって必死になるなよw


609 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 18:47:23.61 ]
自分以外の全員が敵に見えるのは病気だから気をつけなさいよ
すくなくとも>>585以降は一人じゃない

610 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 20:19:13.72 ]
>>600
edn.embarcadero.com/article/33580



611 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 12:36:48.45 ]
組込用のスクリプトでDelphi側で個別のアクセス用関数を定義することなく自由に
application.title = "hello"
form1.listbox.items.add("world")
と書けるものあったら教えて下さい。

612 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 13:57:43.80 ]
つまりは出来合いのものはないかという質問だと思うが、
RTTIさえ理解してれば簡単に作れるよ


613 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 18:32:17.62 ]
>>609
相変わらずのアホ〜ぷりw、逆も一人じゃないと思わないのかw
お前は、なんでもかんでも考えが浅はかなんだよw

結局、技術や知識でまけると人間性しか批判出来ない負け犬根性がw

614 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 20:07:44.66 ]
:::::::::::::::::::::::::::::::>-、,     /
::::::::::::::::::::::::::::,::::::::::::::ヘ    /    . 自  母  半  こ  実  で
::::::::::::::::::::::::/   .∨ヘ:ヽ  |       演 . ち  数  の . は  も
:::::::::::::::::::::/      ',:',  人    . な   ゃ  以  ス    . ね
:::::::::::::::/       ヽヘ  \    ん . ん  上  レ     . ・
::::::::ィ-、、,        ',.}  /    よ . の  は  の  .     ・
:::ノ  _``ヽ‐ィ  、____ lリ /      ・                  ・
:ハ =イ、__〇、   ./__´| 人     . . ・
.l | ´`ー─‐'   /<´〇    \.  .   ・
 |        ヘ ̄` /  .   \
../ |        ヘ . '     /イ、_____________,,,/
  .|      __ ,,,〉. '        ,,、、─-、、_
  .|l     _、´  /       /──-、__ \
  .J  ,'イ─-> /       /‐、_  、___,,,、\ ヘ        ____
        ̄ /       |イnヽ) ィn.ヾ,,.〈 .ハ      ∠´   .>、
>、      /         | ̄(´`   ̄  |ィヽ'    ./'´ ̄`'´ ̄`ヽ ヽ
、  > _,/          /  ,二、    .リ6/    〈 '>、、 `-<.ヽ l
ヘヘ  |||ヽ___          ヽ 〈三三〉 レ  _ノ     (.} b__<  b_) リハ
ヽヽヽ..||| ヽ `ヽ、     _,,、--\ ‐    ,, |ヽ      Y  ,--、.   /ノ
 ヽヽ、|||  .ヽ  ヘ    / 二二:{ )ゝ--イ ∠ ヘ__   \ -=-`  /´
  .ヽヽ,'.|   ',   \  / ──ヽ /, == イ   /  / ヘ   〉、__,,,イ,,ハ
   .∨/   l    ヘ .|  r- ///〇 \  |  /  ヽ  / \ /  .ヘ

615 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:37:25.14 ]
ってか恥ずかしいやつが居るな。思わず読んでて赤面しちまったよ。

616 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 12:27:16.01 ]
>>613
>結局、技術や知識でまけると人間性しか批判出来ない負け犬根性がw
お前自己紹介うまいな!

617 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 12:29:16.89 ]
>>612
簡単なら作って

618 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 14:04:52.13 ]
馬鹿には無理

619 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 15:05:00.65 ]
言うだけならタダだしな

620 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 15:06:14.60 ]
簡単詐欺



621 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:57:15.70 ]
>>616
今日も誹謗中傷だけとはアホ過ぎるw

>>588
>まあそれもそうだな。ユニット名以外はあとでIDEで変えれば問題ないか。
自分で間違いを認めといて、お前って本当に女々しいぞw
知識もないくせに、超初心者向けだからってアホなことばかり書くな、アホがw

622 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:23:55.31 ]
アホ以外に知ってる言葉無いのかなこの人

623 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:25:42.63 ]
スルーしろ

624 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:34:43.23 ]
質問です。
DelphiのUnitはカプセル化だと主張している人がいたのですが、
これまでそういう主張をした本やサイトを見たことがありません。
公式のヘルプでUnitについて調べてもそのような記述はありませんでした。
具体的にどういうことなのか分かる方はいないでしょうか?
もしくはそれを説明した本やサイトを紹介して頂けるとありがたいです。

625 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 23:51:12.08 ]
確かにDelphiのユニットは事実上のネームスペースとして機能するので、
カプセル化だといえばその通りの側面はある。

ttp://docwiki.embarcadero.com/RADStudio/XE2/ja/Delphi_%E3%81%A7%E3%81%AE%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9

XE2では公式に名前空間としてユニットが位置付けられた。

626 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 01:06:10.90 ]
>>624
初心者は、難しいことを考えず
Unitの使い方を覚えれば大丈夫

627 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 08:01:59.02 ]
>>624
interface=public=c言語の.h部分
implementation=private=c言語の.c部分
という意図でそう言っているのだろう。
delphiをpascalに変えて検索してみればoop以前の情報が色々引っかかるかも。

628 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 12:12:26.90 ]
>という意図でそう言っているのだろう。
違います


629 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 13:36:46.56 ]
>>624
>具体的にどういうことなのか分かる方はいないでしょうか?
つまり、カプセル化やUnitの意味が分からないということ?

630 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 17:19:12.85 ]
>>624
酷い質問だ。

>>588
>カプセル化の概念とはあんまり関係ないけど。最近知った言葉だから使ってみたかったの?
を真っ向から否定するような、質問をしなくても...

いくら相手がトンチンカンなことを書いていても
もう少し相手の身になって質問しないと、スレが荒れるから。



631 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 10:50:27.34 ]
>>617
3桁ぐらい貰えれば作るよ

632 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 11:36:02.43 ]
100円?

633 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 13:17:54.46 ]
>>632
馬鹿、500円だよ

634 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 13:20:40.17 ]
>>630
相変わらずアホだな〜w
Unitがカプセル化だと理解出来ていないだろうw
結局、技術や知識でまけると人間性しか批判出来ない負け犬根性がw

635 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 18:24:58.09 ]
( ´_ゝ`)フーン

636 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:01:31.20 ]
質問です。
TBottun1を押した時に、TMemoに直前に打ち込まれた1文字(1byteか2byte)を削除するにはどうしたらよいですか?
また、複数回押した時には複数文字削除したいのですが、よろしくお願い致します。

637 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:20:26.96 ]
何が分かんないの?
TMemoの文字列を取得/設定する方法?
文字列を削除する方法?
ボタンを押した時に処理する方法?

638 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:31:37.51 ]
>>637

・TMemoの文字列を取得/設定する方法
・文字列を削除する方法
取得する方法もわからなかったので、できれば両方教えていただきたいです。

639 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:34:44.22 ]
>>636

procedure TForm1.Button1Click(Sender: TObject);
var
WorkStr: string;
WorkInt: Smallint;
begin
WorkStr := Memo1.Lines[Memo1.Lines.Count - 1];
WorkInt := Length(Memo1.Lines[Memo1.Lines.Count - 1]);
Delete(WorkStr, WorkInt, 1);
Memo1.Lines[Memo1.Lines.Count - 1] := WorkStr;
end;

640 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:39:44.72 ]
Backspace送った方が楽じゃね?



641 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:47:52.79 ]
>>639

ありがとうございます!
とりあえず動作できました。

>>640

送るとはどういうことでしょうか(汗

642 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 01:00:48.67 ]
>>639
質問者が納得してるんならいいんだけど、このコード厳密には一番下の行の右端を削ってるだけで
最後に書かれた文字とは限らないよね。

643 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 01:57:11.36 ]
>>639
いろいろバグっている。

644 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 02:20:56.88 ]
>>642

先ほどそれに気づいて今悪戦苦闘していますが…
無理です。どうしたらいいのでしょうか。

645 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 03:37:36.60 ]
なぜそういう動作を実現したいの?
あとDelphiのバージョン書いた方がいいんじゃない

646 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 09:06:26.00 ]
>>641
PostMessageでWM_CHAR,使ってキーコードをメモに送りつける。
まぁWM_CHARでググれ。

647 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 09:54:38.79 ]
>>644
ググったらすぐ出てきたぞ。

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Undo;
end;


648 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 10:24:17.13 ]
>>647
ま〜たアホが一人w

649 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 16:23:56.28 ]
直前に打ち込まれた文字が最終行の最終文字とは限らないんだったら、結構めんどくさい気がするんだが

650 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 16:31:14.44 ]
最後コピペで貼り付けられたら
どういう動作をする仕様かまだわかってないもんな



651 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 16:34:25.12 ]
別にキャレットの位置だけ把握してりゃBSだけで済むってのに

652 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 20:08:13.50 ]
>>649
俺もそう思う。
単純にバックスペース送るのも違うし。
入力される直前の状態を記憶しておいて、ボタンがクリックされたら
無条件に最後に記憶しているものに置き換えるのはどうだろう。
同じなら同じで問題ないと思うし。

653 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 20:15:40.34 ]
>>636
こんな感じで仕様を出してくるSEがいるが、
本当に駄目SEの典型だよ。

この仕様でいくと、まずTABや改行も一文字と考えるのかが疑問で、実装方法として
BSで実装するのは、カーソルが移動可能だから前が直前の文字とは限らない。

Undoで実装は、1文字だけならいいが
>また、複数回押した時には複数文字削除したいのです
という仕様もあるから駄目。しかし>>648が言うようなアホじゃない。逆に考えの浅いコイツの方がアホだと思うが。

エディターの「元に戻す」みたいな機能を実装したいなら? 
TMomoじゃなく無限Undoを備えたエディターコンポーネントを使うのが楽。

654 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 21:50:41.77 ]
Tea桃

655 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 22:31:06.93 ]
なんかすごく品の良いフレーバーティーを想像した

656 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 23:04:54.70 ]
TMomoとかTOppaiとかの話か

657 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 23:51:35.14 ]
>>654-656
ま〜たアホが三人w

658 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 01:10:38.02 ]
TSumomo = class(TSumomomomomomomomonouchi);
TMomo = class(TSumomomomomomomomonouchi);

659 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 01:41:12.00 ]
ずいぶんと、フラストレーションが溜まっている人がいるな。


660 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 08:15:46.59 ]
打ち直したいってことなら、前回の入力を記憶しておいて、書き戻せばいい



661 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 09:43:32.81 ]
本多さんのエディターを使いたいために、未だ7を使ってるんだけど、
新しいデルファイでなんか良さげなコンポある?

662 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 10:24:50.76 ]
>>661
LazarusのSynEditとか

663 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 11:16:10.80 ]
>>661
Unicode対応版出てるよ

664 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 11:57:41.75 ]
Unicode対応版っていってもまともにUnicodeを扱ってないSynEditとか、ホンダさんエディタ
にもう意味はねぇよーな。そもそも固定フォント専用だし。

665 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 12:28:59.78 ]
俺みたいに固定フォントで不満がない人間にはホンダさんエディタ便利なんだよ。
あんな凄いの作れるホンダさんでもUnicode対応は大変なんだろうか。
たぶん、円馬鹿の迷走ぶりにやんなったんだろうけど。

666 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 12:54:48.78 ]
Unicodeって言っても日本語だけじゃないんだって。日本語メインだと、1コードポイント=1文字みたいな
イメージあるけど、カーソル配置にしたって、書記素という境界におかなきゃいけないし、RTLとLTRの切り替えとか
まともにやると死ぬというか無理。WinではDirectWrite使えば、えらい楽になるけど、Uniscribe使うと
幾分楽になるがそれでもUniscribe自体がLowlevelだし。UniSynEditのUniscribe版の使い方は
はっきりいって無意味でハンドリングまったくできてない。というか、DirectWrite使えば、
エディタ作成で、テキストのレイアウトやカーソル配置やヒットテスト全部やってくれるから
前に比べれば結構楽だぞ。

667 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:14:45.96 ]
というかエディタメインのプログラム作るならみんなのために作ってよ。今、ホンダさんソースをさらりと
みたけど、メインのHEditor.pasは1万2千行くらいで、色々、文字の操作や折り返しやキャレット配置・レイアウト
などでごみごみしてやってるけど、DirectWrite使えば、それら全部ごっそり削除して
3千行くらいに圧縮できると思うから。まぁ、他のコントロール同様、基本的なキーボード、マウス、スクロールメッセージの
処理とかは他と一緒でやらなきゃいけんけど、
後、Highlighterをプラグインできるようにするならそこらへも必要だけど。
DirectWriteは最強だよ。XPで使えんけど・・

668 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:55:00.73 ]
今のデルファイ用コンポーネントでホンダさんエディタくらい、インパクトのあるものって何?

669 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 14:40:41.78 ]
エディタはビュジュアルコンポーネントだし、それだけで、インパクトあるからね・・
他の分野のコンポと比較しするのはちょっとあれだけど。俺は信頼性に重きおいてるから、
外部コンポ使うのはよほどの事ないと。HTTPなら、Indyより、WinInet,WinHTTPとかちょっと
したマルチフォーマットのテキスト表示するならWindowsのRichEditや今回のDirectWrite使うし。
外部コンポ探すより最初はWinAPIの方優先するからよくわからんということで
他の人頼む。スクリプト絡みで、作者がずっと頑張ってるDWScriptなら使ってもいいかなと。

670 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 14:53:21.05 ]
後、Delphiで今のところ、クロスプラットフォームのアプリ作る予定なんて全くないから
ブラウザ埋め込む場合は標準のTWebBrowserでいいけど、Delphi Chromium Embedded
の作者は応援してる。



671 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 16:18:47.78 ]
>>667
3桁ぐらいもらえればいつでも作るよ

672 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 16:36:49.51 ]
>>671
頼む、お願いします。

673 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 17:16:40.04 ]
>>672
じゃあtorcoloor467あっとyahoo.co.jpまで連絡を。

674 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 17:56:18.14 ]
3桁なら、どっか自販機あされば、100円くらいはみつかるだろうから、
それでお願い。

675 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 19:04:03.51 ]
>>673
999円って言われるぞw

676 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 22:17:25.58 ]
馬鹿野郎、3桁つったら001円だよ

677 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 22:29:59.54 ]
111(2進)円で

678 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:09:07.47 ]
小数点以下3桁かもしれない

679 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:17:12.00 ]
Delphiで使えるx86とx64用のディスアセンブルライブラリってありますか?

680 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:21:35.66 ]
俺のおしっこ100ccで。



681 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 09:34:43.24 ]
>>673
作れるなら金とっていいからぜひ作って公開し下さい。


682 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 12:57:31.47 ]
>>673じゃないけど有料ライブラリとして公開した場合リアルな話いくらまで出す?

683 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:15:25.46 ]
個人的には2500円位出しても良いかな。
たくさんの人に払ってもらうとなると、1000とかじゃなかろか。

684 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:05:59.85 ]
有料なら、こんな物もある。
www.tmssoftware.com/site/advmemo.asp

685 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:50:45.16 ]
>>682
ソース付きなら TEditor と同額出す

686 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 22:06:12.25 ]
>>684
昔、使ったことあるな。
これもいいよね。

687 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 16:54:50.48 ]
へぇ結構金出すもんなんだ

688 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 18:29:14.31 ]
技量がない分は金でカバー

689 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 20:15:56.75 ]
金がない分はごまかしでカバー

690 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 21:26:26.11 ]
偉い方教えてください。よろしくお願いします。

DELPHI2005を使って、SQLSERVER2000へアクセスしてきました。
このほど、SQLSERVER2008にアップしましたがDELPHI2005から
ADO(dbGO)またはODBCで可能かどうか知りたいです。

ADOだと接続テストは成功するのですが、
実際にコンポーネントを配置して、アクセスすると。
ログインのダイアログはでるのですが、ログインできませんでした。
私のミスかしれないです。
ODBCはまだ試していません。



691 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 11:48:39.08 ]
普通は接続できるぞ。

692 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 22:50:12.87 ]
訳あってDelphi5を使ってるんだけど、
ビットマップの上に重ねたビットマップを半透明表示したい。

上のbitmapのPixelFormatをpf32bitにする
Scanlineしてalphaをいじって再描画

ってのが浮かんだんだけど、このバージョンって32bitのbmpって扱えなかった筈
何か良い方法は無いかな・・・。

693 名前:デフォルトの名無しさん [2012/05/27(日) 23:30:04.59 ]
自分でアルファ処理をするんだよ。scanline つかって。

694 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 14:32:28.29 ]
RGB値の半分だけ足せばいいんじゃないかな それで半透明っぽくなるはず

695 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 14:38:30.28 ]
>>689
ごまかせるのなら技量があるってことだぜ

696 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 14:45:03.27 ]
つかアルファチャンネルが必要な意味がわからない
2枚をただ合成すればいいんでしょ 足し算するだけだから楽勝だ

32bit BMP って R G B A の4つの情報か アルファチャンネルいらねーしw
24bitで十分いける

697 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 17:37:05.38 ]
>>692
32bitのビットマップ自体は扱えるよ。透過処理がされないだけ
半透明ってのが50:50で合成するって意味なら>>696の言う通り24bitでいけるが、
足しただけじゃなくて2で割らないといけない(単純に足すだけの方法は加算合成)
古いOSで実行しないのならWin32APIにAlphaBlendというそのままのAPIもある
こいつは計算方法がちょっと特殊だけど、半透明ぽく見せたいだけなら全然問題ない

698 名前:692 mailto:sage [2012/05/28(月) 21:27:48.98 ]
ありがとう。
やりたいことは、フォームに複数のビットマップが貼られてて、全部の明度を一度に下げたいんだ。
なら黒いビットマップを上からかぶせて、透明度を変えればいいんじゃねピコーンってなったんだけど、
やっぱり全部列挙してRGBをいじるか、Windows.AlphaBlendになるか。

699 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 22:13:14.69 ]
それならAlphaBlendプロパティを弄ったフォームを上から被せるだけでもいいんじゃね?

700 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 22:45:23.55 ]
>>699
TFormのAlphaBlendプロパティはDelphi6からですよ。



701 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 00:24:54.56 ]
690です。
恥ずかしいことに、プログラムのミスでした。すません。
レスをサンクスです>691

702 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 01:44:25.49 ]
>>700
そっか
なら普通にAPIでレイヤード化で

703 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 17:36:59.85 ]
ちょっと初歩的な質問で恐縮ですが


いつのまにか、デバッグ時にエラーが発生しても
デバッグ画面の対応行で止まってくれなくなりました。

どこの設定を変更すると、本来の状態に戻るんでしょうか?

よろしくお願いします。

704 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 20:09:39.01 ]
バージョンも書かずに質問とな

オプションのデバッグ関係のところに例外で停止とかなんとかいう項目があってoffに
なっているはずなのでこれをonにする、でどうよ

705 名前:703 mailto:sage [2012/05/29(火) 20:33:53.16 ]
>>704
済みませんでした

なんか突然"runtime error 216"が出始めて


706 名前:703 mailto:sage [2012/05/29(火) 20:34:46.17 ]
って、またバージョン書くのを忘れました

XEです

707 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 20:59:14.60 ]
最適化のチェックを外して、「再構築」を行う。これでデバッグモードでビルドできる

708 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 22:10:20.06 ]
>>707
ありがとうございます。

ただ、Debugの「最適化」はfalseになっています。

709 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 23:29:39.74 ]
後出し細切れいくない
ちゃんと全部まとめて書け

710 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 17:34:49.19 ]
プロジェクトのdcuが古くなって再構築されない状態になってんのかね

デバッグの位置がずれるソースmysource.pasに対応する
myproject\win32\debug\mysource.dcu(または*.dcu全部)を消してみるとか



711 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 21:37:54.76 ]
>>708
再構築に最適化は関係ないので大丈夫。
逆に変えると動作が違ってくる可能性もあるから。

>なんか突然"runtime error 216"が出始めて
ウィルスでは?

712 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 21:42:59.65 ]
"runtime error 216"で検索すると
確かにウイルス関係がヒットするな

713 名前: ◆XcB18Bks.Y mailto:sage [2012/06/01(金) 00:52:35.65 ]
今回の原因かどうか分かりませんが、
また最近のバージョンは分かりませんが
Delphiのランタイムエラー216は一般保護例外です。

ユニットファイルの初期化部(initiailzation)や終了処理部(finalization)で
まだ実体を生成していないオブジェクトのプロパティを読み書きしようとしたりすると
デフォルトの例外処理は行われず、Runtime error 216のメッセージボックスが表示されます。

もしプログラムの起動直後に起きるのならこの可能性がありますので
F7キーでトレースしていくと良いと思います。

------------------------
○おまけ Runtime error 216を起こすサンプル

メインフォームForm1を持つUnit1と以下のようなUnit2があるプロジェクトを実行すると
※のところでエラーが発生、Runtime error 216ダイアログが表示されます。

unit Unit2;

interface

implementation

uses Unit1;

initialization // ここはフォームが生成される前に呼び出される
 Form1.Left := Form1.Left + 1; // ※まだForm1 = nilなのでここで発生!
end;


714 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:38:11.41 ]
ヌルポってことか

715 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:25:34.99 ]
ナマポか

716 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 23:07:30.71 ]
Delphi7です
新規アプリでXPManをUsesしてボタン3個設置でコンパイルします
出来上がったExeをWindows7で実行し、おもむろにAltキーを押すと
フォーカスが無いボタンは消えてしまいます

誰か直し方知らない?

717 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 23:37:29.68 ]
消えたように見えるだけってことだろ 再描画せぇ

718 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 23:38:51.46 ]
ものっそい基本的なこと聞いてごめん。

Timageを配置して、
image.picture.loadfromfile('なんとかbmp')をすると、image.picture.bitmapにbmpが入る。
image.pictureがnilでなければ画像が保持されてるってことで、image.picture:=nil ってやると画像がクリアされる。

ここまで理解した後、Tbitmapをcreateして、
bitmap.loadfromfile('なんとかbmp')ってやった後、初期化しようとしてbitmap:=nilってやったら、
インスタンス自体がどっか行ってしまった。
初期化したければbitmap.assign(nil)で、画像がassignされてるかはbitmap.emptyで判定、が正解?

719 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 00:09:48.21 ]
>>717
たしかに再描画すれば出てくるんだけど、Altキー押されるたびに
フォームの全コントロール再描画するのってスマートじゃないなーと

720 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 01:08:24.51 ]
VistaAltFixUnitってのを使えばいいと聞いた事があるぞ。



721 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 01:22:41.94 ]
Vista騒動の時にさんざん見たなあw

722 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 07:16:07.52 ]
TBitmapをCreateしてから、何度も使いまわす意味がわからない Freeしときゃいいのに
nilを代入するのはただヌルポにするだけで、初期化処理をしているとは言えない
厳密に初期化したいならばCreateしなおすべきだ

723 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 10:17:59.41 ]
VistaAltFixUnitでぐぐったら色々出てきた
再描画するのは同じやったけど参考になったわ

724 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 12:27:58.09 ]
Formを doublebuffered := true すればいいってわけじゃないのか

725 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 15:07:19.67 ]
>>724
やってみたら酷いことになったじゃないか

726 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 22:41:01.99 ]
TImage.Pictureにnilを代入するとクリアされるという仕様を作った馬鹿は
>>718みたいな勘違い馬鹿を大量に生み出したことを反省すべき

727 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:24:56.41 ]
こんなこと書いてる人がいるんだけど、本当?

この検索で出てくる、「天 徳 院」とかいう人のブログ記事。
www.google.co.jp/search?q=Delphi+%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88+%E3%83%96%E3%83%AD%E3%82%B0

728 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 17:09:43.35 ]
なわけねーだろw

729 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 17:09:57.14 ]
すみません、質問です。
C/Sで2層のWin32アプリを.NET Frameworkのアプリに変更したい場合
何か注意点ありますか? やはり最低でも3層にしないと
.NETでは、クライアントから直にDBをみにいけないんでしょうか?
環境的にはVPNやイントラも可能です

またEXEの配布はサーバー上のwww.xxx.com/xxxx.exe
直に実行しいつでも最新が実行されるように考えています。

730 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 17:22:48.12 ]
何でそれをこのスレで聞こうと思ったのか、私気になります!



731 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 18:33:44.37 ]
>>727
PCharへのキャストは文字列が空ならnil、そうでなければ先頭文字のアドレス。

732 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 18:33:59.31 ]
                     /j
                   /__/ ‘,
                  //  ヽ  ', 、
                    //    ‘  ! ヽ             …わかった この話はやめよう
                /イ       ', l  ’
               iヘヘ,       l |  ’
               | nヘヘ _      | |   l            ハイ!! やめやめ
               | l_| | | ゝ ̄`ヽ | |〈 ̄ノ
               ゝソノノ   `ー‐' l ! ¨/
            n/7./7 ∧        j/ /     iヽiヽn
              |! |///7/:::ゝ   r===オ        | ! | |/~7
             i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ..     nl l .||/
             | | | | l {':j`i::::::::::::::::`ーr '         ||ー---{
              | '" ̄ ̄iノ .l::::::::::::::::::::::∧       | ゝ    ',
      , 一 r‐‐l   γ /、::::::::::::::::::::::::〉ー= ___  ヘ  ヽ   }
    / o  |!:::::}     / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ     ノ
   / o    ノ:::::∧   /ヽ  o  ヽ::::::::| o i::::::::ヽ、 /   /
   /    ノ::::::/    /::::::::ヽ  o  ヽ:::| o {::::::::::::::Υ   /

733 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 19:03:08.41 ]
>>728>>731
ですよね。
DelphiのStringは賢いのでヌル文字入りになってるから、余計なことはしなくて良いはず、
しかしこの人はStringから作ったポインタの有効期間について思い違いをしたので迷走…
そういうことでしょうかね?

734 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:06:07.05 ]
何でそれをこのスレで聞こうと思ったのか、私気になります! > 733

つか、本人に聞いたら?

735 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:33:45.59 ]
>>731,733
本当にそんな初心者レベルの話なのか?
文字の最後に2バイトヌルを追加しないと
相手が正しく文字を判断してくれないケースとか考えると
例えば、64bitOSとかUTF-8のBOMの影響とか?

まっ理由が書いてないから、なんともいえないけど。


736 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:36:58.70 ]
間違えた
>相手が正しく文字を判断してくれないケースとか考えると
>PCharが正しく文字を判断してくれないケースとか考えると

737 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:40:18.46 ]
>>735,736
また間違えた。
よく見たら別に文字列に#0#0を加えているわけじゃなかった。

738 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 21:13:21.68 ]
                     /j
                   /__/ ‘,
                  //  ヽ  ', 、
                    //    ‘  ! ヽ             
                /イ       ', l  ’
               iヘヘ,       l |  ’
               | nヘヘ _      | |   l           
               | l_| | | ゝ ̄`ヽ | |〈 ̄ノ
               ゝソノノ   `ー‐' l ! ¨/
            n/7./7 ∧        j/ /     iヽiヽn
              |! |///7/:::ゝ   r===オ        | ! | |/~7
             i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ..     nl l .||/
             | | | | l {':j`i::::::::::::::::`ーr '         ||ー---{
              | '" ̄ ̄iノ .l::::::::::::::::::::::∧       | ゝ    ',
      , 一 r‐‐l   γ /、::::::::::::::::::::::::〉ー= ___  ヘ  ヽ   }
    / o  |!:::::}     / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ     ノ
   / o    ノ:::::∧   /ヽ  o  ヽ::::::::| o i::::::::ヽ、 /   /
   /    ノ::::::/    /::::::::ヽ  o  ヽ:::| o {::::::::::::::Υ   /

739 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 21:20:26.71 ]
>>734
すでに聞いているのですか、返答がないのです。

>>738
あの、何か言ってください。

740 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 22:13:55.01 ]
                     /j
                   /__/ ‘,
                  //  ヽ  ', 、
                    //    ‘  ! ヽ             いないいない…
                /イ       ', l  ’
               iヘヘ,       l |  ’
               | nヘヘ _      | |   l           バァ!
               | l_| | | ゝ ̄`ヽ | |〈 ̄ノ
               ゝソノノ   `ー‐' l ! ¨/
            n/7./7 ∧        j/ /     iヽiヽn
              |! |///7/:::ゝ   r===オ        | ! | |/~7
             i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ..     nl l .||/
             | | | | l {':j`i::::::::::::::::`ーr '         ||ー---{
              | '" ̄ ̄iノ .l::::::::::::::::::::::∧       | ゝ    ',
      , 一 r‐‐l   γ /、::::::::::::::::::::::::〉ー= ___  ヘ  ヽ   }
    / o  |!:::::}     / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ     ノ
   / o    ノ:::::∧   /ヽ  o  ヽ::::::::| o i::::::::ヽ、 /   /
   /    ノ::::::/    /::::::::ヽ  o  ヽ:::| o {::::::::::::::Υ   /



741 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 22:15:43.70 ]
>>735
ダブルヌルターミネートが必要なShell系のAPIとか?

742 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 02:31:21.22 ]
>>731
違うんじゃ?
文字列Sが空の時、
PChar(S)は空文字列へのポインタ(#0へのポインタ),
Pointer(S)はnil.
というか、型システムとしてstring型はnilと空文字列区別してほしかった・・


743 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 02:42:53.37 ]
と、俺はWinAPIに渡すとき、文字列が空の時を踏まえて
PCharにキャストすべきかPointerにキャストすべきか
使い分けてるけど。

744 名前: ◆XcB18Bks.Y mailto:sage [2012/06/04(月) 03:50:51.27 ]
>>742
なるほど、文字列(長い文字列)がカラの時は変数の中身はnilポインターになるが
PCharでキャストするとわざわざカラのブロックを作って
そこを指すようになっているのですね。


745 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 12:44:04.26 ]
まぁ、そんな感じ。実際はソース見ると、グローバル定数の#0へのポインタが返されるようになってけど。
string型はnilと空文字列区別して2012 Surveyであった、.NETと同じようなRooted Type Systemお願い・・


746 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 12:53:11.13 ]
どちらにせよ「○○に渡す場合は」等の限定が無く、
一般的な話として書かれている時点で完全に間違い

747 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 22:12:42.34 ]
文字列型なのにnil値と空文字列を区別する言語の方が変。

748 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 22:23:54.85 ]
ポインタの話だが?

749 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 22:35:34.68 ]
みんな普通にスルーしてたとこみると、勘違いしてたっぽさそうだけど。
文字列が空の時PCharへのキャストがnilになると勘違いして、実際違うのを知った時は
おいら小便ちびったけどね。

750 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 22:58:22.08 ]
値型/参照型とNull許容性はhejiも別にすべきだったといってるらしいが、
ttp://ufcpp.wordpress.com/2012/04/10/null%E9%9D%9E%E8%A8%B1%E5%AE%B9/
まぁ、ここまではやらんでもいいが。



751 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 23:04:17.50 ]
GCネタといい10年遅れの議論が好きだねここw

752 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 00:00:21.75 ]
GCといや、WinRTもC++/CXで参照カウントによる自動解放が標準で実装されるね。
ttp://msdn.microsoft.com/en-us/library/windows/apps/hh699870%28v=vs.110%29.aspx
非同期前提の時代はそういう流れ。

753 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 04:08:54.08 ]
Boost の Smart pointer が実装されたの何年前だとおもってる? > 752



754 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 08:07:36.31 ]
>>752
イラネ

755 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 10:59:16.10 ]
ARC は所詮 GC ではないので、Free を呼ばなくてもよい。くらいのものだぞ
xocde 並みにコンパイラ/IDE がソースコードを変換してくれるなら良いけど


756 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 11:19:40.95 ]
くだすれDelphi(超初心者用)その54

757 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 11:25:30.13 ]
初心者向けの機能は初心者向けの言語に任せとけばよい。
何でもかんでも取り込もうとするのは間違い。

758 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 13:31:06.09 ]
と初心者が申しております

759 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 15:16:12.40 ]
いつもの「標準ライブラリ以外使わない」君、乙

760 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 22:59:41.82 ]
本物は標準ライブラリの代替物から自作



761 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 23:10:35.55 ]
かっこいい

762 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 22:42:13.42 ]
C言語のプログラムをDelphiに移植しようとしています。

long s0[1024], s1[1024], s2[1024], s3[1024];
static long *sa[4] = {s0, s1, s2, s3};

このように宣言されていて、sa[i][j]=〜; とか s0〜s3として使われています。
Delphiだと2次元配列にして、変数名を s0→sa[0] に置換するしかないでしょうか?


C言語の知識がほぼゼロなので、演算子とか確認しながら手探り状態で進めています。

不思議に思ったのは、定数も変数もただ static long〜 と書いてあるだけなのですが、
なぜconstしないのでしょうか?
Delphiと違って、初期値の設定に制限が無いため、わざわざconstする文化が薄いから?
それとも、当該のプログラムが制作されたのが1990年代初頭だからでしょうか??

763 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 01:28:10.93 ]
まずはやったら?
そんなこと聞いて何の意味があるの?

764 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 01:47:18.03 ]
大半の人は、実は釣り質問。
単に馬鹿な回答者がいればそれでいい。

765 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 02:03:57.48 ]
Delphiとは全く関係ない質問だな

766 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 04:09:27.36 ]
答える気がない人は書き込まないでください

767 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 09:49:44.81 ]
断る

768 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 09:51:16.96 ]
>>766
お前が教えてやれ

769 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:32:46.29 ]
:type
: Long = LongInt;
: TLongArray1024 = array [0..1023] of Long;
: PLongArray1024 = ^TLongArray1024;
:var
: s0, s1, s2, s3: TLongArray1024;
: sa: array[0..3] of PLongArray1024 = ( @s0, @s1, @s2, @s3 );
:var
: I, J: Integer;
:begin
: for I := Low(sa) to High(sa) do
: for J := Low(sa) to High(sa) do
: sa[I][J] := 0;
:end.


770 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:58:42.33 ]
>>769
質問には答えていただけないんでしょうか?



771 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:25:47.41 ]
>>762
その意味について論文でも書くの?


772 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:31:43.50 ]
大半の人は、実は釣り質問。
単に馬鹿な回答者がいればそれでいい。

773 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 19:02:09.77 ]
よろしくお願いします。
TCalendarで複数のクリックした日の色を変えるにはどのようにしたらいいのでしょうか?
normal色を青などに変えたいです。

delphi7のpersonal、windows7を使用。

774 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 23:26:40.31 ]
Gridなので、派生クラスを作ってDrawCellメソッドをoverrideする

775 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 10:43:12.92 ]
大半の人は、実は釣り回答。
単に馬鹿な質問者がいればそれでいい。

776 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 23:45:17.78 ]
delphi6、win7の環境ですが、コンポーネントが古臭く見えます。
実害はないのですが改善できないものですか?

777 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 05:26:29.01 ]
眼科に行ったら

778 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 06:00:49.73 ]
>>776
www.delphi-gems.com/index.php/controls/windows-xp-theme-manager

779 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 11:01:08.23 ]
>>778
ありがとうございました
試してみます

780 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 11:28:21.24 ]
>>776
www.geocities.jp/asumaroyuumaro/program/tips/xpstyle.html
これとかも



781 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 22:45:47.77 ]
大半の人は、実は釣り回答。
単に馬鹿な質問者がいればそれでいい。

782 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 01:07:50.60 ]
TComboBoxの基本的な使い方が分かりません。
実行中、Edit部分に文字列を入力すれば、特に何もしなくてもItemsに追加されるのかと
思ってましたが、違うようです。
どのようにしたら追加できるでしょうか?

783 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 09:35:28.49 ]
>>782
AddItem
Items.Add
Items.AddObject
Items.AddStrings
Items.Append
Items.Assign
Items.Insert
Items.InsertObject
Items.LoadFromFile
Items.LoadFromStream
Items.SetText
Items.SetTextStr
Items.CommaText
Items.DelimitedText
Items.Text

好きなのを使いたまえ

784 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 18:19:21.28 ]
>>782
ComboBox内に入力した文字列をそのままItemsに追加したいのであれば

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
 // Enterキーで追加する場合
 if Ord(Key)=VK_RETURN then ComboBox1.Items.Add(ComboBox1.Text);
end;

785 名前:782 mailto:sage [2012/07/02(月) 20:06:39.17 ]
釣りでした

786 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 07:38:17.15 ]
>>783
列挙していただき、ありがとうございます。
個々のメソッドやプロパティは理解できるのですが、知りたいことは、入力したものを
とりあえずItemsに保管しておいてくれるようにするにはどうすればよいかということなんです。

787 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 07:39:49.01 ]
>>784
できました。ありがとうございます!
そのままItemsに追加だと同じものがたくさん入ってしまうので、それは防止しました。

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
var
  T: String;
begin
  if Ord(Key)<>VK_RETURN then Exit;      // Enterキー以外なら何もしないで帰る

  T:=Trim(ComboBox1.Text);                   // 空白除去
  if T='' then Exit;                                 // 空文字なら何もしないで帰る

  if ComboBox1.Items.IndexOf(T)=-1 then // もしComboBox内に存在しなければ
    ComboBox1.Items.Append(T);             // 追加する
end;


TComboBox自体にこういう機能があるはずで、きっと何か見落としているんじゃないかと疑って
質問させてもらいましたが、結局自分でやる必要があったんですね。

こういう勘違いをするのは自分の考え方がおかしいのかな、とも思ったんですが…
D6ヘルプの「TComboBox の使い方」をよく見ると、このような記述がありました。
>CLX では,コンボボックスの編集フィールドにテキストを入力して〔Enter〕を押すと,
>ドロップダウンリストに項目を追加できます(VCL のコンボボックスではできません)。

これに早く気付くべきでした。

788 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 09:14:48.51 ]
大半の人は、実は釣り回答。
単に馬鹿な質問者がいればそれでいい。

789 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 10:42:17.05 ]
XE2でDataModuleにActionList置こうとすると
コンポーネントパレットから消えちゃうんだけどどうやって置けばいいですか?

ビジュアルコンポーネントのタブが消えるのはいいとして
System, Dialogsといった非ビジュアルコンポーネントまで消えてしまう…

790 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 10:48:57.44 ]
TDataModuleのClassGroupプロパティをVcl.Controls.TControlに変えてF12を2回押しなさい



791 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 15:50:58.72 ]
うまくいきました。ありがとうございます。

792 名前:784 mailto:sage [2012/07/04(水) 19:06:39.21 ]
>>787
>if ComboBox1.Items.IndexOf(T)=-1 then // もしComboBox内に存在しなければ
これ(IndexOf)知らなかったw便利ですね
今までItemsやらLinesやら全部時前でCount分検索してた><

793 名前:776 mailto:sage [2012/07/04(水) 23:57:30.22 ]
>>780の方法は反映されないコンポーネントもあってちょっと残念でした
結局Delphi7で難なく解決しました

せっかくなのでいろいろなバージョンで試してみたけど、
同じソースでもバージョンを上げるごとに、作成されるファイルサイズが大きくなっていくので
困っています

794 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 01:11:39.91 ]
ということは、D6以前でXPテーマを適用させた場合に出る表示の不都合は、
D7ならすっかり直ってるのね。
XPに対応してないD6と対応してるD7だから、当たり前なのか。

>>793
何か特別にファイルサイズを小さくしたい事情でもあるの?
UPXとか結構みんな使ってるよね。
私は使ったことないけど。

795 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 02:04:12.68 ]
>>793
そんなので困ってるって…
ファイルサイズが大きくなると具体的にどう困るの??

796 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 02:33:15.40 ]
>>794
D6はThemeManagerを使えばほぼ問題ナッシング
D7はそれをVCLに組み込んだだけ

797 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 08:27:54.16 ]
>>795
メモリ占有量が増える

798 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 18:45:36.55 ]
>>795
技術力を疑う

799 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 19:38:06.67 ]
そんなので技術力を疑う奴は頭の弱い奴だけだから大丈夫

800 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 19:46:16.35 ]
昔からメモリ(ファイルサイズ)と速度はトレードオフの関係にあるけど、
最近はメモリもディスクスペースも余り気味だから、
速度を優先してメモリやサイズが増えるケースの方がほとんどだよ。
そもそもバージョンアップしたら普通は機能が増加してサイズが増えるのは当たり前だしね。
ファイルサイズを減らすだけの最適化しかしてない新しい環境をわざわざ買う人なんていないし。

だからもしメモリやサイズが増えただけで技術力を疑う人がいたら、
その人の技術センスは10年以上前で止まってるんだろうね。そんな人はいないと思うけど。
あ、いたかw > 798



801 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 20:02:43.29 ]
ちょっとしたアプリ作って、EXEサイズが100MBいくなら死ぬけど、10MBぐらいまでなら
全く気にならん。

802 名前:デフォルトの名無しさん [2012/07/05(木) 20:17:06.75 ]
最近のDelphiでメモリリークってどうやって検出するの?
メモリマネージャの性能がよくなったからか、解放済みの領域アクセスしてもすぐにエラー吐かなくて
どこがエラーか分からん

803 名前:デフォルトの名無しさん [2012/07/05(木) 20:17:37.68 ]
間違えたメモリリークじゃなくてアクセスバイオレーション

804 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 20:20:25.88 ]
>>800
それをいかに抑えるかって話なんだけど・・・

805 名前:803 [2012/07/05(木) 20:33:26.52 ]
俺バカだった。忘れてね

806 名前:804 mailto:sage [2012/07/06(金) 00:31:43.48 ]
俺もバカだった。忘れてね…

807 名前:806 mailto:sage [2012/07/06(金) 05:29:54.46 ]
俺はホモ

808 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 09:37:14.30 ]
だが firefox のメモリリークは今だに酷い
技術力を疑わざるを得ない

809 名前:808 mailto:sage [2012/07/06(金) 09:55:08.85 ]
俺もバカだった。忘れてね…

810 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 15:26:35.93 ]
玄人の俺が質問すっけど、Windowsのヘッダとか移植するとき、おまえら
どういうルールで移植してる?varつかうかoutパラメータ使うかそれともポインタ型使うかとか。
ポインタ型はいちいちtypeで宣言しなきゃいけんのがうざいし・・死ねよ。
Delphiの前方宣言も何げに制限が厳しすぎてウンコなんだよなぁ・・



811 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 15:29:13.60 ]
DelphiってPASCALだろ
PASCALを改善したのがCだからな
Cにかなう訳ないよ

812 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 15:48:46.98 ]
やっぱ、深く考えないって事が正解か。毎回ヘッダ移植するたびに
悩むんだよな。気にしないということで、移植の続きでもやるか。ありがとう。

813 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 16:09:37.21 ]
NULL(nil)を渡すかどうかで決めてるな。あとは手抜きでJEDIのをもらってくる。

814 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 17:03:01.21 ]
JEDIになかったらとりあえず移植してる。
>>813
それも悩むよね。前まではnil渡しても問答無用でout,varで宣言して、nil渡す時、
PMyRecord(nil)^とかで無理やり渡す方針でいたけど、今回はnil渡せるメソッドが
多くて、再び悩みだした。

815 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 17:26:43.70 ]
そういうときは両方とも定義するという手も。

816 名前:デフォルトの名無しさん mailto:sage [2012/07/07(土) 10:07:14.93 ]
移植する時は手間だけど、nilが渡せるのはvarとポインタ版両方作って
ポインタの方はnilをデフォルト引数にしておくと使う時は楽だな
RTLでもそうやって書いてある関数あるし

817 名前:デフォルトの名無しさん mailto:sage [2012/07/07(土) 10:08:33.26 ]
あとそういうのを用意しておくと、nil渡してもいいパラメータだったかどうか確認する手間が省けるし

818 名前:デフォルトの名無しさん mailto:sage [2012/07/08(日) 16:41:25.45 ]
移植だいたい終わったけど、移植前のCソースが3万行近くあって、移植後が1万数千行だから、
両方用意するのメンドイな。まぁ、もうちょっとどうするか考えるわ。

819 名前:デフォルトの名無しさん mailto:sage [2012/07/08(日) 18:16:16.59 ]
多くて面倒な時は一方だけ書いておいて、
その時に対象の引数の後ろ等に決まったコメントを埋め込んで
あとでそれを読み取って一括変換かけてるな
自分で形式さえ決めておけば、専用ツールこさえなくてもその辺のテキストエディタの正規表現でいけるし

820 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 10:13:58.08 ]
Interfaceの定義だと両方書いておけないんだよなあ
ぜんぶせっせこnil渡せるかチェックしてるわ




821 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 16:24:55.49 ]
GUIDが同じでインターフェース名を変えて定義すればいいだけじゃ?

822 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 22:13:50.03 ]
質問です。よろしくお願い致します。
文字列'abc123'をasciiで数値に直すことはできたのですが、
この逆ができません。
どのようにしたら数値を元の文字列に直せるのでしょうか?

delphi7使用です。

823 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 22:18:50.93 ]
docwiki.embarcadero.com/Libraries/ja/System.Chr

824 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 13:54:54.98 ]
D7で作ったFirebirdDBアプリはwin8で動きますか

825 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 17:37:54.77 ]
何をもって動くとするかが分からないので、実際にWin8上で試してください

826 名前:デフォルトの名無しさん [2012/07/18(水) 14:21:38.77 ]
継承したフォームで、派生元でのプロパティ値(ClientHeightとか)を取得する方法はありますか?


827 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 19:50:24.93 ]
はぁぁぁぁぁ?? 継承したプロパティは全部見れるだろ じゃあなんのための継承だ?
オブジェクト指向をイチから勉強し直せ

828 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 22:45:18.40 ]
TForm1からTForm2を派生しておいて、それぞれ違うClientHeightを指定したときに
TForm2でTForm1に指定してあったClientHeightを知る方法があるか、って意味だろ。
継承元(TForm1)のLoadedをoverrideして値を取っておくくらいかなぁ。

829 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 00:05:14.41 ]
じゃあ最初からそう書いたらいいんじゃないですかぁ???

830 名前:826 mailto:sage [2012/07/19(木) 00:46:40.40 ]
派生元での値って書いてあるんですが…
>>828
Loadedだと、inherited実行前とかで見てみましたが、新しい値しか取れませんでした。



831 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 02:46:02.21 ]
同名のプロパティやらを追加したってことなら T親クラス(Self).Hoge で取れなかったっけ
>>827はバカだが>>826も分かりにくい

832 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 07:40:57.12 ]
>>826,828,831
アホ、>>827の言うようにOOを一から勉強しろ。


833 名前:826 mailto:sage [2012/07/19(木) 09:02:24.55 ]
>>831
828氏の指摘の通りです。
オブジェクトインスペクタでの「敬称元の値に戻す」のように、元の値を取得したいんです。

834 名前:826 mailto:sage [2012/07/19(木) 09:31:37.40 ]
自己解決しました。

835 名前:826 mailto:sage [2012/07/19(木) 12:34:52.53 ]
自己解決したんだ。よかったね。
アホは>>832だったというわけだ。

836 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 12:41:02.74 ]
継承した値とか言ってるけど、TForm1に指定してあったClientHeightってことはオブジェクトインスペクタ等で指定したもの(dfmの値)だろ?
あれはOO的に言えばクラスの初期値じゃなくてインスタンスに代入される値だから、継承はそこまで関係ないと思うんだが
OOの仕組みが分かってないというより、VCLの仕組みが分かってないと言った方が正しい

837 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 13:11:39.28 ]
>>836
じゃあ親クラスのClientHeightってどうやって知るのかコード書いてよ。


838 名前:828 mailto:sage [2012/07/19(木) 13:37:09.34 ]
ちょっろっと追ってみたけど、一般論的にはうまくやる方法はない。
ユニットローカルな関数とかその内部関数とかで処理されているので。
あとはそのプロパティのSetメソッドをoverrideして書き込みを捕捉する、という手は考えられるかなぁ。

839 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 17:56:01.41 ]
>>837
リソースからTForm1のClientHeightにセットされている値を読み出せば良い

840 名前:826 mailto:sage [2012/07/19(木) 17:59:28.03 ]
まだできてない人いるんですね(笑)



841 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 19:19:56.02 ]
             __、、 , ___
             ,≠=ミYムェ、`
             ,r'ァ'x='く彡'ハミ}
           / '//,イl!lハ.ヽノハヘ}
             i|イik!川l|!|| !|〃,!`l!  夏だねぇ・・・・
          }i!l't、  _ヽ!l!|'ィi |
          |liヽ '._ `’川<ヽj
.            |!|!  ー 1イ!リ, ニヽ
                  /:'/イ:::::.:. :.:ヽ
                j:l:.i:.:l:j:::::.:. :.:}ハ,rァ-、
.        _    ,∠ン‐、:.〉:::::.:, :.:.i:_;マハ/
      , ‐ ´ ,、`ア´__{:.:. :.:.:\::::{: 〈:.l/〉心、
    r,iヒ.ィf´ Y .ィ´   ̄T:ー-: ニヽ_:.:!./. V 〉}
      l! `   〈,リ'!   丶|:、:.. : :.`ニ_:.:!-イl下ヽ
   `、ッ|,hィ /l!: 丶.   |:.:ヽ:..:_:ィ:/.:.:ノ:::Yヽ 〉
  ”_'En,i:.l! : :i::.::\ |:.:;:i:.:` ̄::.::/:::::.:.i ̄
   ,*'jlゞ` |:ll: : :l::.::::i:.:|::.i:.|:l:.:.:.:,∠_:::::.:.:ノ
.         |:ll: : :.l:;r' ¬__,rL: ィ ヽヽ ̄
         ヽ-- '        _〉 ; ヽ}
                  ,rf,‐,-ュ-イ」
                ゞ== " ̄


842 名前:デフォルトの名無しさん mailto:sage [2012/07/19(木) 19:28:15.43 ]
>>834,835
アホすぎる、自作自演がばれているw

843 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 12:48:28.53 ]
HTML+JavaScriptでよく半透明のDIVを画面全体に広げて、
その上に別の要素を置くことでモーダルダイアログ的な操作を実現していますが、
Delphiで似たようなこと(他のコントロールを半透明のコントロールで覆う)はできますか?

844 名前:デフォルトの名無しさん [2012/07/29(日) 13:13:21.38 ]
できません。

845 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 13:29:21.10 ]
alphaを128とかにした真っ黒フォームを表示して、さらにその上にフォーム

846 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:18:45.35 ]
そのモーダルダイアログ風のインターフェース嫌い

847 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 23:31:45.57 ]
質問に回答ではなく好き嫌いで返す頭の湧いた人がいると聞いて

848 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 08:11:18.60 ]
845で十分だろw

849 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 11:32:25.65 ]
誰も十分じゃないとは言ってないけど

850 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 14:32:55.99 ]
Delphi XE starterで勉強し始めたものですが
ちょっと教えてください。

訳あってプロジェクトを保存したフォルダを
リネームしたいんですが、単にリネームする
だけじゃダメですよね。

プロジェクトの一部の設定ファイルに絶対パスが
書き込まれてるみたいですが、リネームした後、
どうすれば、新しいフォルダでDelphiの開発を継続できますか?



851 名前:デフォルトの名無しさん [2012/07/31(火) 18:16:46.71 ]
>>850
できません。

852 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 19:02:24.61 ]
>>850
*.localと*.identcacheを消せばそれ以外は問題ないと思うが。モデリングとかは別だろうけど。

853 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 20:38:45.36 ]
>>852
ありがとうございます。
試してみます。

サンプルなんかにプロジェクト単位のがあるから
可能だと思っていたんですが、何を消していいのか
分からなくて...


854 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 13:33:20.05 ]
主に設定ファイル用の、テキストエディタでも手書きしやすい
listとhashの複合データ構造のフォーマットで何か良さ気なのってないですか。
今のところJSON,YAML,luaのテーブルコンストラクタあたりを候補に考えているんですが。

855 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 13:43:47.12 ]
じゃあその中から用途にあったものを選べばいいんじゃね?

856 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 16:14:25.32 ]
YAML

857 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 20:26:45.25 ]
YMCA

858 名前:デフォルトの名無しさん [2012/08/01(水) 20:31:40.06 ]
YAMEL

859 名前:デフォルトの名無しさん [2012/08/01(水) 20:33:39.34 ]
                                 ,.へ
  ___                             ム  i
 「 ヒ_i〉                            ゝ 〈
 ト ノ                           iニ(()
 i  {              ____           |  ヽ
 i  i           /__,  , ‐-\           i   }
 |   i         /(●)   ( ● )\       {、  λ
 ト−┤.      /    (__人__)    \    ,ノ  ̄ ,!
 i   ゝ、_     |     ´ ̄`       | ,. '´ハ   ,!
. ヽ、    `` 、,__\              /" \  ヽ/
   \ノ ノ   ハ ̄r/:::r―--―/::7   ノ    /
       ヽ.      ヽ::〈; . '::. :' |::/   /   ,. "
        `ー 、    \ヽ::. ;:::|/     r'"
     / ̄二二二二二二二二二二二二二二二二ヽ
     | 答 |     YAMEL        │|
     \_二二二二二二二二二二二二二二二二ノ

860 名前:デフォルトの名無しさん [2012/08/01(水) 20:34:18.39 ]
>>210
                                             ,r'^''=ァ-
                                        , -、  , -''´_,,r ''"
                      _______.. 、、-ァr|   i´_ ,r'_´__ _ _
                               ̄¨``…=''|-─ヒ!--−… '' "゛´
            il「~lii                        r亠、  |
            ''rへ,、                        |・._    |
 __.. 、、---‐─…!  ├^ー‐_: =====━…         , -| `´   |
  ̄  ̄ ̄  ̄二ニ! ̄ |`¨ ̄                 _,. -1  |¨¨i   |        _
            | 。  ⌒L、         _ , 、-_''´‐''" _,ゝ._|    /7        / `l
          | rz─=,ニ=-─===z二 ̄ _< _,. - ''"   _」  = 「´        /  .|
   .        | ( ' ̄//  ̄`l¨`i  ``T'F ̄    ̄丶. -<´  l凹   |        /   |
            | /´ ̄rュ`'ー┘ ° L0!_    r‐、 ` ''┴==-┴−-、__/   |
        …==i=(_  o  。 °    ロ      ̄ ‐┴-⊥., -‐- 、     _≦'、_   |
             |┘゙コド"−-、- -         _   /F、-、    )イ ̄        ̄´
           ̄ (O  ̄ ̄"``ー- 二 _    ̄  __王ニ-‐ ´ ̄´
                          r !!、 ̄ ¨¨ ̄(.○゙
                          ゙‐'-'
                      //Λ_Λ  | |
                      | |( ´Д`)// <うるせぇ、オスプレイぶつけんぞ
                      \      |



861 名前:デフォルトの名無しさん mailto:age [2012/08/03(金) 18:03:32.37 ]
D6です。
動画合成用の素材動画データを作りたく
数値データから文字を avi ファイル(1 〜10 fps)に出力するプログラムを組みたいのです
どういう手順がベストでしょうか?

作業目的の全体像は
(1)テキストの計測文字データを時間軸で動画にして
 〜.txt(例)
 09:59:58 計測値1
 09:59:59 計測値2
 10:00:00 計測値3
 10:00:01 計測値4
  ↓出力
 〜.avi
 ┌────────┐
 │09:59:59 計測値2
 └────────┘
(2)同時間実写ビデオ映像 と 時間+数値などの(1)を合成する。← これはフリーの動画合成を探します。


862 名前:861 mailto:age [2012/08/03(金) 18:04:30.28 ]
procedure TForm1.〜 (.txt は読み込んであるとして)
 Var Bmp : TBitmap;
begin
 BMP :=TBitmap.Create;

 { Bitmap の範囲を決めて文字情報を描画
 { avi データに Bitmap バイナリを書き足す
 { 繰り返し

 BMP.Free;
end;

このような流れですか?

863 名前:デフォルトの名無しさん [2012/08/03(金) 18:36:41.16 ]
えくりぷす
gamers-park.com/node/147

864 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 21:49:33.04 ]
>>861-862
聞く必要あるんですか、それ?

865 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 22:02:21.50 ]
>>861
こういうのでやった方がよくないか?
ttp://www.avisynth.info/?%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%2F%A5%C6%A5%ED%A5%C3%A5%D7%A4%CE%C1%DE%C6%FE

866 名前:861 mailto:age [2012/08/04(土) 17:48:22.23 ]
>>865
テキスト加工出力の方が楽なので、ソレを調べてみます。
ありがとう
他のツールや方法があればご指摘ください。

867 名前:デフォルトの名無しさん mailto:sage [2012/08/19(日) 21:01:01.31 ]


868 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 03:44:59.63 ]
オートパイロット・自動操作ツールを作っています
対象ウィンドウにWM_LBUTTONDOWN/UPを送ることでクリックの再現には成功したのですが
その際に、そのウィンドウがアクティブになってしまい、フォーカスが奪われます。
フォーカスさせないでクリックさせることは可能ですか?

フォアグラウンドにしない方法というのはググったら見つかって
Get/SetForegroundWindowで直前のウィンドウを呼び戻したり
hPMHandle := FindWindow(null, PChar('Program Manager')); SetParent(hTargetHandle,hPMHandle);
というようにProgram Managerの養子にするという方法で実現できました。

が、フォーカスは相変わらず奪われます。特に文字入力中にはにゅうりょくがちゅ
うだんされこのようになります。

869 名前:868 mailto:sage [2012/08/22(水) 03:57:03.46 ]
すみません。自己解決したかもしれません。(たまたま今うまくいっているだけかも)
>>868の非フォアグラウンド化とあわせて
Get/SetWindowLongで拡張スタイルのWS_EX_NOACTIVATEを追加指定してやるとうまく?いきます。
それと
fore := GetForegroundWindow();
SendMessage(hoge);
SetForegroundWindow(fore);
SetActiveWindow(fore); <- New!
するといいかも。とりあえず思いつく限りいろいろやったらうまく動いたっぽいです。
 □←明日になると(なぜか)動かなくなるスイッチ

どれがキモ、無駄か判明してないけど、もうねるぽ…

870 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 05:16:44.76 ]
ここは ぼくの にっきちょう です



871 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 07:44:50.86 ]
キモ、い。 >870

872 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 10:06:14.40 ]
ここ は ぼく の にっきちょう です。

873 名前:デフォルトの名無しさん [2012/08/24(金) 22:07:45.05 ]
D4でのフォームの継承について教えてください。

あるフォーム(このフォーム自体も多重継承しています)を継承して
新しくフォームを作ろうとしているのですが、
この継承元フォームのコンポーネントを継承先フォーム設計時に
表示するにはどうすれば良いのでしょう。

実行時はコンポが表示されますが、設計時には表示されないので
レイアウトが決めにくく悩んでいます。

<やってみたこと>
継承元のdfmがあるので、それを流用すれば何とかなるのではと
思ってdfmの先頭行を
inherited oldForm:ToldForm → inherited newForm:TnewForm
のように書き換えて新規フォームのdfmと入れ替えてみたのですが
フォーム読み込み中のエラー(中略)読み込み違反がおきました 
とメッセージが出て上手くいきませんでした。



874 名前:デフォルトの名無しさん [2012/08/24(金) 22:10:31.88 ]
>>873
 _i^i__i^i_                  i^i ._i^i_ __, -―- 、___
 |*||*| ∩___∩    i^i _i^i_  | | |@ll|(_/,,,,   ,,,,   ヽ_)  山で出会った時は
 |≡||≡|| ノ       ヽ  ([])|;□;|.(≡)|_| |●  ●   |    とりあえず「こんにちわ」が基本だよな
 . 二二/       ● |二二( (二二二二 彡(_●_ )   ミ   
     |          ミ    ) )       / ` ''∪''  / ヽ
    彡、      _ノ Gノ'フ=  ___  / /i  ` ー '"  iヽ |
     /        ヽ / /     | ! / / |       | | .l.
 ..──|ヽ         ヽ/─==i─Y-(_ノ──i二i───(⌒)
 ___ヽ       /ヽノ   └-┘ ┴     ..└┘    . ̄
      | ___ i ̄ そうだよな。 いきなり銃向けられるって、どこのスラム街だよって話だよな

875 名前:デフォルトの名無しさん mailto:sage [2012/08/24(金) 23:58:31.70 ]
>>873
D4より新しいバージョンを使って下さい

876 名前:873 [2012/08/25(土) 07:36:12.38 ]
>>875
ありがとうございます。
個人的にももっと新しいバージョンを使いたいのですが
業務関係でD4しか使用出来ない状況です。
D4では無理なのでしょうか。

877 名前:デフォルトの名無しさん mailto:sage [2012/08/25(土) 09:52:14.97 ]
>>873
1.継承元フォーム上で右クリックして「リポジトリに追加」を選択
2.「リポジトリに追加」ダイアログで「タイトル」に「Hoge」と入力して「OK」クリック
3.メニュー「ツール」「リポジトリ」を選択
4.「オブジェクトリポジトリ」ダイアログで「ページ」リストから「オブジェクトリポジトリ」を選択
5.「オブジェクト」リストから「Hoge」を「ページ」リスト内の「フォーム」へドラッグ
6.「ページ」リストから「フォーム」を選択し「Hoge」が追加されているのを確認して「OK」クリック
--- ここまでが準備 ---
1.適当なプロジェクトでメニュー「ファイル」「新規作成」を選択
2.「新規作成」ダイアログで「フォーム」タブを開く
3.「Hoge」を選択し「継承」を選択したら「OK」をクリック

878 名前:873 [2012/08/25(土) 16:18:44.69 ]
>>877
週明けに記載の通り実行してみます。
詳細な手順まで書いていただいて
本当にありがとうございます。

879 名前:874 mailto:sage [2012/08/25(土) 22:14:43.48 ]
いえいえ、どういたしまして






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<210KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef