Delphi3でtvideoを使うには?

解決


Delphi大好き  2011-01-15 08:08:37  No: 39831

前回は大変ありがとうございました。
日記帳は順調に動いています。

今回も自力では解決不能なので、質問させていただきました。

環境はXP、Delphi3  動作先環境はWindows95  です。
video for windowsを使ったコンポーネントを見つけました。
古いパソコン(PC-9821Cx)で動画キャプチャを作ろうとしています。

コンポーネントは、
TVideo v.2.3  
http://www.torry.net/pages.php?id=168

というコンポーネントを使ってます。

コンポーネントのインストールまでは成功しました。
サンプルのEXEでは動作が確認できました。

D2 D3 D4 D5対応とのことなのですが、Delphi3でサンプル(demo4)を開くと、
プロパティが存在しません、というエラーが出ます。

具体的には、ビデオキャプチャーの一覧を取得できません。
その為、手持ちの開発環境では動作出来ず困っています。

サンプルdemo4の以下の部分でエラーが出ます。

procedure TMainForm.BtDriverClick(Sender: TObject);

Var DrvList:TStrings;
begin
 DlgEinstell:=TDlgEinstell.Create(Self);
 //↑この部分でエラーが出る
 drvList:=  GetDriverList;
 dlgEinstell.Combobox1.Items:= drvList;
 VideoCap1.DriverOpen:= false;
 dlgEinstell.ComboBox1.Itemindex:= VideoCap1.DriverIndex;
 if DlgEinstell.ShowModal = mrOK then
    begin
      videoCap1.DriverIndex:= dlgEinstell.combobox1.ItemIndex;
    end;
 VideoCap1.DriverOpen:= true;
 VideoCap1.Videopreview:= true;
 DlgEinstell.Free;
 drvList.Clear;
 drvList.Free;
end;

他の手持ちのDelphi7ではコンポーネントインストール時にエラーが出てインストール出来ませんでした。
無理難題で恐縮ですが、Delphi3で動かす方法は無いでしょうか?
よろしくお願いしますm(__)m。


HOta  2011-01-15 17:51:33  No: 39832

DlgEinstellは何処で宣言していますか?
また、エラーの内容を詳しく書かないと、返答が難しくなります。
なるだけ詳しくお願いします。


Delphi  2011-01-15 19:13:26  No: 39833

HOtaさんありがとうございます、
DlgEinstellは、
デバイスドライバー一覧を取得するダイアログボックスのようです。
以下がダイアログボックスのソースです。

unit DlgTreiber;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  Buttons, ExtCtrls,videoCap;

type
  TDlgEinstell = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    Bevel1: TBevel;
    ComboBox1: TComboBox;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DlgEinstell: TDlgEinstell;

implementation

{$R *.DFM}

end.


Delphi大好き  2011-01-15 19:42:13  No: 39834

サンプルプロジェクト読み込み時、

MainForm.oldCreateOrderの読み込み中のエラー:
プロパティが存在しません。エラーを無視して読み込みを続けますか?
(このエラーを無視した場合、コンポーネントやプロパティの値を失う場合があります)

とエラーが出ます。
そして実行すると、上記のダイアログ呼び出し時にエラーが出ます。


Delphi大好き  2011-01-15 20:11:13  No: 39835

メインフォームに標準で付いてくるプロパティ

TCustomForm.OldCreateOrder プロパティ

が、Delphi3には無かっただけみたいです。
フォームを作り直してサンプルを移植したところ、
ダイアログボックスは正常に出ました。

現在環境(キャプチャのあるwindows95)で動作を確認してないので、キャプチャ一覧が出るかどうかわかりませんが、帰宅したら試してみます。


Delphi大好き  2011-01-16 04:30:37  No: 39836

お騒がせしました、
新規にサンプルを作り直したら目標のPCで無事動作しました。

単にフォームのTCustomForm.OldCreateOrder プロパティ
がDelphi3にないだけの事でした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加