1 名前:デフォルトの名無しさん [2013/10/24(木) 17:56:40.46 ] エンバカ雑談スレのような気がする エンバカ www.embarcadero.com/jp/ 日本語フォーラム https://forums.embarcadero.com/category.jspa?categoryID=3 前スレ 【Delphi】Embarcaderoオッチャ その28【C++B*】 toro.2ch.net/test/read.cgi/tech/1363676646/
655 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 07:18:46.18 ID:p4sb8763] え、ちょっとまって、XE6が出たらXE5の販売とアップデートは終了なの? まだFMXのバグてんこもりだしxcode5.1 対応もまだだよね?発売して半年だよね? チーム開発とかどうするんだこれ
656 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 07:53:00.55 ID:wXUCu29+] もう面倒いからC#に移行してしまった 今64bitで.NET4.5(1)初めから入ってるから楽だしね
657 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 14:09:26.69 ID:swxvNHOW] >>655 こういう売り方してたら目の前の売り上げはよくても固定客は絶対離れていくよな…
658 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 00:09:39.58 ID:qB3QKQxd] しかも1年に2回リリースするとか名言しやがってるし バージョンアップのたびに10万なんて払えるかよ
659 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 02:59:34.66 ID:c2vsqYkW] バグなんって気が向いたら直すだけ これはアメチャンの発想 カタログにはバグ直すなんって書いてない 書いてないものはやらない いつもながら宣伝活動の構成員ご苦労様です
660 名前:640 mailto:sage [2014/04/26(土) 17:03:20.28 ID:5oxEtdQI] 動的配列をprocedureに引数で渡した先でサイズを決定し、呼び出し元に返すにはどうすればよいでしょうか。 やりたい事 procedure test(var foo:array of byte) begin SetLength(foo,10); // <- 互換性が無い型だと言われる end;
661 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 17:48:02.11 ID:qkUOmsQk] おもしろそうだったので>>647 調べてみたけど、 Media Foundationだと、 msdn.microsoft.com/en-us/library/windows/desktop/ff819477%28v=vs.85%29.aspx の50行くらいでできた。 DirectShow使ってもいけると思うが、それはまた気が向いたときに、 つか、VFWってデフォルトでMPEGとかで出力できるのか?
662 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 17:53:18.36 ID:ub9cegR6] >>660 "array of byte" の代わりに "TBytes" 使え
663 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 18:44:39.58 ID:5oxEtdQI] >>662 回答ありがとうございます。 TArray<foo> とかでいいんですね。助かりました。
664 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 04:02:14.22 ID:JpLvzdK3] >>661 デフォルトじゃWindows自体にマトモなCodecがついてないでしょ それに基本Aviだと思うし ま、ffdshowとか(まだ入手できればx264vfw)が必須でしょ …これまではxpに配慮してMediaFoundationに移れない ケースもあったかもしれないけど、さすがに…
665 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 15:39:30.45 ID:sr/2zxN+] やっぱ、VFWは基本はAVIだよね。そんな気はしてた。
666 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 17:39:56.55 ID:75k1tKBe] Delphiユーザー会ができたよ みんなで盛り上げよう!
667 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 19:31:33.96 ID:Q+0O3D4/] TIdTCPClient を使ってデータの受信をしています。 受信したデータをTIdBytesに保存して、実際に使う変数等に移していますが、access violationが出てしまいます。 var mybuff: TIdBytes; mypos: TIdBytes; begin SetLength(mybuff,128); mypos := @mybuff[60]; mypos := @mybuff[64]; // <- エラー 実際のコードは procedure SetData(var dat:WORD,buf:TIdBytes,var size:WORD); pos := 0; SetData(dat1,@mybuff[pos],size); pos := pos + size; SetData(dat2,@mybuff[pos],size); pos := pos + size; としており、posが64前後でエラーが発生します。 エラーの回避法は無いでしょうか。そもそものやり方がまずいのでしょうか。 アドバイスお願いします。
668 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 19:55:43.01 ID:sr/2zxN+] やり方がまずいな。TIdBytesってbyte型の動的配列だよね。 動的配列の任意の要素位置のアドレス(@演算子)とっても、それは動的配列じゃない。 mypos := @mybuff[60]; これがまずい 動的配列のメモリレイアウト docwiki.embarcadero.com/RADStudio/XE5/ja/%E5%86%85%E9%83%A8%E3%83%87%E3%83%BC%E3%82%BF%E5%BD%A2%E5%BC%8F 見てみん。実際のデータの直前に参照カウントとか余計なものついてるから。
669 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 20:00:24.75 ID:sr/2zxN+] だから、変数のmyposの型は var mypos: PByte; 単なるバイトへのポインタとかじゃないとまずい。
670 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 20:47:29.16 ID:Q+0O3D4/] >>668 なるほど、わからん。 という冗談はともかく、アドバイスありがとうございます。 Indy を使っている以上、TIdBytes を使いたいのですが、TMemoryStreamとかの方が良いですかね?
671 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 20:58:04.61 ID:acxULcre] オッチャだってw アップメソッド使ってる人いる?
672 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 20:58:18.88 ID:Vxdm4tDx] まぁ、でも、動的配列の扱いはいずれ避けて通れないからな。 >>667 見る限りやってることはなんか受信したデータをどんどん溜めこんでるっぽいから、 TMemoryStreamに突っ込んでってもいいと思うけど。
673 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:06:01.34 ID:Q+0O3D4/] >>672 TIdBytesでやる場合は、Copy(src,pos,Length(src) - pos) とかを渡すのが常套になるのでしょうか? Delphiは読めるのですが、本格的に作り始めたのは最近なので、Delphiでの定石がまだわかりません。
674 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:18:12.69 ID:Vxdm4tDx] Copyは、もう1つ動的配列を作る場合に使う。 TIdBytesはbyteの動的配列だから、byte単位で扱うが不便なら、C言語みたく適切なポインタ型にキャストして扱えばいい。 var B: TBytes; P: PByte; begin P := @B[0]; W := PShortInt(P)^; // 先頭の2bytes Inc(P, 2); // ポインタを2バイト進める W := PLongint;(P)^; // 次の4bytes Inc(P, 4); // ポインタを4バイト進める
675 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:18:52.44 ID:Vxdm4tDx] とかもしくは、レコード型を定義して、それにキャストしてもいい。 type PMyRecord = ^TMyRecrod; TMyRecord = record Field1: Integer; Field2: Shortint; end; で、 var MyRecord: PMyRecord; begin MyRecord := @B[0] MyRecord^.Field1でアクセス
676 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:25:43.33 ID:Q+0O3D4/] >>674 詳しいアドバイスありがとうございます。 参考にして手直ししてみます。
677 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:33:31.96 ID:Vxdm4tDx] まぁ、君が>>667 で@演算子使っるので、ポインタの事を知ってるという前提で書いたけど。 後は、>>675 でレコード型を宣言する時は、フィールドのパッキング(アライメント)に注意してね。
678 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 12:34:29.01 ID:tMJCLVdB] 変数の方が違うだけで、同じ処理を行う関数があります。 TString = TArray<string>; TInt64 = TArray<Int64>; procedure writeData(val :TString;MS TStream); var i:Integer; begin writeData(WORD(Length(val),MS); for i := 0 to Length(val) - 1 writeData(val[i],MS); // stringを処理する end; procedure writeData(val :TInt64;MS TStream); var i:Integer; begin writeData(WORD(Length(val),MS); for i := 0 to Length(val) - 1 writeData(val[i],MS); // Int64を処理する end; これらを1つにまとめる事は出来ませんか?
679 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 15:04:00.46 ID:i8htPOTN] ここはくだすれ?
680 名前:デフォルトの名無しさん mailto:sage [2014/04/30(水) 20:15:12.50 ID:br+1IjVe] >>678 ここでずっと質問してる同じ人だと思うけど次からtoro.2ch.net/test/read.cgi/tech/1353119767 で質問した 方がいいと思う。 writeData(WORD(Length(val),MS); この行が意味不明で何をしたいのかわからんが、 型が違うだけなら、ジェネリックメソッドにすればいいいんじゃ。 TMyClass = class public class procedure SetData<T>(Val: TArray<T>; MS: TStream); end;
681 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 14:14:26.99 ID:31i14fQn] >>680 スレ違いだったようですみません。誘導までしていただいてありがたいです。 次からはあちらに書き込みます。 教えていただいた方法はまだ試せていないですが、データ通信するのに、変数の型を気にせずコーディングしたくてやっています。
682 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 01:26:01.04 ID:HH6jOJ9c] XE6のトライアルを入れてみた。 手持ちのVCL32ビットアプリを64ビットでビルドしてデバッグで実行したらいきなりデバッグカーネルが死んだ。 そしてIDEがCPU100%でフリーズした。 これでこそ万年ベータwww
683 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 09:35:43.41 ID:IBeYR+Rh] 経験則として プロジェクトを(自動)コンバートするのではなく XE6でプロジェクトを新規作成しなおすと まったく同じソースでも 大丈夫だったりすることもある
684 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 14:37:03.86 ID:rJI46Yrm] >>682 デバッグカーネルの通信を許可する(localhostのみでOK)
685 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 16:05:46.80 ID:HH6jOJ9c] つまりそういう対処も出来てないのに出荷している製品という事だなw
686 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 13:11:57.59 ID:UJKwnBwW] デフォルトの設定で動かしてフリーズするんじゃ面倒でやだな 詰まらんことに時間を取られて仕事にならん
687 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 13:24:30.78 ID:DEJO0JX2] iPad用のアプリを作る場合、Macが必要なのでしょうか。
688 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 23:39:31.57 ID:quRr6HsL] iOS開発にはMacが必要です。Appleとの開発者契約も必要です。
689 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 23:55:50.40 ID:2olql4bj] www.embarcadero.com/jp/press-releases/macincloud-announce-jp この手の使えばMacは無くてもなんとか出来なくもない Xamarinもこの手のサービスと組んでたような気がする
690 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 01:56:39.27 ID:pYH7L/RU] Macだけだったら、Windows上でVirtualBoxなんかを使う手もある OSは買うか、(少し試すだけだったら)そこらに転がってるのでもいいし
691 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 20:58:56.07 ID:xDxPfM52] Mavericks は無償じゃないの?
692 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 03:16:00.44 ID:8eY0YuBS] >>691 Mavericksは無償だけど、それだけじゃインストールできない。 (もしかしたら、今は状況が変わってるかも...) あくまでも実験的だけど、そこらの古いMacOSのisoファイルをダウンロードし VirtualBox上にインストールし、そのOS上でMavericksをStoreからダウンロードし Mavericksのインストールディスク(iosファイル)を作成する。 で、VirtualBox上の古いMacOSを削除し、新規にMavericksをインストールする。 こんな感じかな。
693 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 10:59:29.23 ID:Gp0k8Ku9] Maverickは知らんけど、Mountain LionをWindowsマシン上で動かすのはライセンス違反だぜ。 Mountain Lionのライセンスでは、インストール・使用・稼働をできるのは Mac上に直接か、Macにインストールされた仮想環境上でのどちらかだ。 ソースは、Mountain Lionの /Library/Documentation/License.lpdf の 「2. 許諾された使用方法およびその制限」。
694 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 11:05:45.74 ID:foRc8yiw] なんか、すごく間口が狭いのね < iOS Windows系とは言わないが、Linux系ぐらいには開発環境を提供してほしいわ。
695 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 12:37:01.30 ID:w2wxRZ8k] そんな事言ったって、アップル様のすることだし…
696 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 14:29:27.99 ID:zGtSvv5a] 建前上は、単独で売られてるOSXは全部バージョンアップ版だからなあ Macにインストール済みのOSを入れ替えることしか想定されてない
697 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 20:23:18.26 ID:rP47+xDJ] エンバカから英語のメール来てて「日本人客なめてんだろ」って思って放置してたけど さっき訳してみたら「なんでXE6を買わないのか答えろ」って内容でやっぱりなめてた
698 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 21:02:06.20 ID:mf5lm0WO] 別に日本人とか関係ないんじゃ…
699 名前:デフォルトの名無しさん mailto:sage [2014/05/11(日) 21:21:58.26 ID:h2T35Nki] 日本語で書けってことだろ
700 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 11:46:27.56 ID:+/MreoV4] 「英語も読み書きできないプログラマの人って・・・」 ※向こうの連中は本気でそう思ってる
701 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 14:25:08.27 ID:9odAWmeA] 違う、単純に何も考えてない 英語ができるからとかできないからとかそんなのは思考の隅にもない 文字通り何も考えてない
702 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 12:35:11.43 ID:k51fVMtN] そう、英語が出来ないプログラマがいるなんてこれっぽっちも考えていない
703 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 00:24:56.68 ID:hCqvqxAJ] むしろUnicode化が敗因と考えていそう
704 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 10:08:12.51 ID:ivmWW463] 過去のバージョンって買えないの? XE5を使っていて、開発人員が増えたからライセンスを買い足したいんだけど どこにも売ってないようなんだが……。
705 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 11:08:27.70 ID:K8gy6u8W] 確証無いんで調べてからにしてほしいが XE6を買うとXE5以前を利用する権利も付いてきた気がする…
706 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 20:13:50.60 ID:uhO13XmF] 販売代理店に問い合わせしたんかい? 代理店なら古いバージョンでも取り寄せてくれるだろ
707 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 20:22:31.07 ID:HuuGFUHQ] ttps://www.embarcadero.com/jp/products/delphi/previous-versions > Delphi - 旧バージョン情報 > Delphi XE6では旧バージョンも利用できます > > Delphi XE6は、最新バージョンのネイティブWindows開発環境です。 > このバージョンでは、以下の旧バージョンライセンスを使用することが > できます。旧バージョンを必要としている方は、Delphi XE6をお求めください。 > > Delphi XE5、Delphi XE4、Delphi XE3、Delphi XE2、Delphi XE、 > Delphi 2010、Delphi 2009、Delphi 2007、Delphi 7
708 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 12:33:19.47 ID:DyRiwh43] 誰か日本唯一のエンバカデロMVP様を黙らせてくれないかな 「Delphiは○○がすごい」「Delphiは○○ができる数少ない言語」だとか吹聴してるけど そのほとんどは10〜20年以上前に他の言語が通過してきたものだったり、 大昔はDelphiくらいしかできなかったけど、今では出来て当然で機能もDelphiより大幅に向上してる物がほとんどで、 Delphiが他に比べて飛び抜けて凄い所って探す方が困難なんだが あれで本人は自慢げに宣伝してるつもりだから余計にタチが悪い
709 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 12:43:30.85 ID:HJwP7oRD] 細かい事を気にするなよw
710 名前:デフォルトの名無しさん [2014/05/17(土) 12:45:42.36 ID:q84U+O7+] >>708 そんな漠然とした一般論を主張したって無意味だわ 具体的に指摘しろよ まあ、この手の奴は具体的に挙げろといわれると 逃亡してしまうけどな
711 名前:デフォルトの名無しさん [2014/05/17(土) 20:23:20.79 ID:Tyi+CyiB] >>708 PC黎明期には「マシン語は○○がすごい」「マシン語は○○ができる言語」だとか・・・ いつの世も同じ
712 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 21:21:02.63 ID:AVvI4wXY] いつもいつも宣伝活動ご苦労様です
713 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 22:00:19.65 ID:pwR4WcDG] いやいや 宣伝しないで売れるもんなんかないから… どこの国の人?
714 名前:デフォルトの名無しさん [2014/05/17(土) 22:37:16.50 ID:Tyi+CyiB] 水道水、電気、米(ブランド品以外)は宣伝しなくとも売れてるだろ
715 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 22:51:49.09 ID:pwR4WcDG] 開発ツールと電気、ガス、水道くらべるとか (;´Д`)
716 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 00:20:11.98 ID:DKQGn9Eb] 開発ツールは贅沢品だから、消費税上がるかもな
717 名前:デフォルトの名無しさん [2014/05/18(日) 11:36:52.92 ID:mIbyMPuS] >>708 は逃亡したな
718 名前:デフォルトの名無しさん [2014/05/18(日) 18:22:46.25 ID:+xhsr6RH] 何を使って作ったかより、何を作ったかを語れるようにならんとな
719 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 18:48:36.27 ID:abXDsvU3] vb.netとかでカスなシステムを粗製濫造してるヤツに言え!
720 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 19:48:59.26 ID:DKQGn9Eb] 粗製濫造うらやましいぞ!
721 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 21:11:46.03 ID:iMOef9PF] 粗製するだけ仕事があるんだからなw
722 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 22:08:02.49 ID:abXDsvU3] まあDelphiの仕事がないのはもともとの事実なのだがw しっかしC#やVBの仕事も減ったな〜 やっぱモバイルファーストなのかいな? それともOS縛りがダメなのか?
723 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 22:10:10.76 ID:iMOef9PF] まー、まだなんとか基本Delphiの仕事で食えてるだがw
724 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:32:50.29 ID:BCBTf1Ru] 勝手にdelphi使って何も言われないだけで 別にdelphi案件ではないだろそれ
725 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 15:51:41.23 ID:MThO6+YC] >>723 田舎は保守的だから新しい技術への置き換えが進まなくて羨ましいだべ
726 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 16:55:49.53 ID:wPH2O7vp] 田舎は東京の案件の下請けが多いよ
727 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 22:06:35.92 ID:wcHw4PU/] 長年プログラマやってるが、Delphi指定案件って1件あっただけだな。 まぁ、Delphi指定ってのもびっくりだったが。
728 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 15:22:16.29 ID:US3wIDVA] >>726 東京とつながりがあるところなんてまだ都会
729 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 18:24:08.34 ID:3RvxFnTZ] 無料で公開されてるturbo c2.01を VPC 2004にインスコしたMSDOS6.2Vに 入れようとしてinstallとすると ハングアップしてしまうんですけど、 6.2Vは動作対象外なんでしょうか? どなたかインストール出来た人いますか?
730 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 18:52:04.12 ID:Gue9tI2H] 郷愁をさそう書き込みだ・・・
731 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 23:22:33.79 ID:KuOXMqms] VM上のDOSってちゃんと動くんだっけ?クロックが1GHzを超えたあたりで怪しかった気が…
732 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 12:58:19.67 ID:WmMgj0Vz] >>729 スレ違いもしくは板違い…というわけでもないか。今はエンバカデロだし とりあえず英語モードでインストーラ起動しないと画面に何も出ないよ
733 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 18:46:30.99 ID:Jwq0drU3] ありがとうございます。英語モードでやってみます。 ちなみに、turbo cで書かれたソースがあって、それをVC++1.5用に 一応移植はしたんですが、期待される動作とはちょっと違うような気が するし、そもそもDOS用のプログラムなんて作ったことがないので 移植自体正しく行われているのかも怪しく、 ということで、どうしても一度turbo cで確認を、 という事情からです。
734 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 06:02:19.57 ID:pdomrvUZ] 98版?
735 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 14:44:22.99 ID:DFA+bTj6] freeDOSとかのほうがいいかも?