Difference between revisions of "ActiveX/Delphi"

From VideoLAN Wiki
Jump to navigation Jump to search
m (Reverted edits by 1153712129 (Talk); changed back to last version by Hogi)
Line 155: Line 155:
 
==See also==
 
==See also==
 
[[ActiveX/HTML]]
 
[[ActiveX/HTML]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<div  style="display:none">
 
[We are delicate. We do not delete your content.]
 
 
 
[http://eurekabag.blog.naszemiasto.pl/ eureka vacuum bag]
 
[http://magna-rx.blog.naszemiasto.pl/ magna rx]
 
[http://diaper-bag.blog.naszemiasto.pl/ diaper bag]
 
[http://norwegian-cruise-line.blog.naszemiasto.pl/ norwegian cruise line]
 
[http://bulochka.blog.naszemiasto.pl/ norwegian cruise lines]
 
[http://bra-and-pantie.jo.pl/ bra and pantie]
 
[http://bra-and-panties-match.jo.pl/ bra and panties match]
 
[http://bra-and-panties.jo.pl/ bra and panties]
 
[http://bulma-bra.td.pl/ bulma bra]
 
[http://sheer-bra.td.pl/ sheer bra]
 
[http://nursing-bra.td.pl/ nursing bra]
 
[http://www.dablogs.com/?u=vico vicodin no prescription]
 
[http://www.dablogs.com/?u=tramah tramadol hcl]
 
[http://www.dablogs.com/?u=tramac tramadol cod]
 
[http://www.dablogs.com/?u=diethylpropion diethylpropion ]
 
[http://nurse-anesthetist-programs.td.pl/ nurse anesthetist programs]
 
[http://soccer-replica-jersey.jo.pl/ soccer replica jersey]
 
[http://philippine-airline.jo.pl/ philippine airline]
 
[http://wireless-dog-fence.td.pl/ wireless dog fence]
 
[http://clenbuterol.blog.naszemiasto.pl/ clenbuterol]
 
[http://westjet.blog.naszemiasto.pl/ westjet]
 
[http://atv-tire.blog.naszemiasto.pl/ atv tire]
 
[http://coffee-roaster.blog.naszemiasto.pl/ coffee roaster]
 
[http://feng-shui-products.blog.naszemiasto.pl/ feng shui products]
 
[http://feng-shui-tips.blog.naszemiasto.pl/ feng shui tips]
 
[http://wilsontenr.blog.naszemiasto.pl/ wilson tennis racket]
 
[http://skylights.blog.naszemiasto.pl/ skylights]
 
[http://beach-wedding-favors.blog.naszemiasto.pl/ beach wedding favors]
 
[http://personalized-wedding-favors.blog.naszemiasto.pl/ personalized wedding favors]
 
[http://wedfb.blog.naszemiasto.pl/ wedding favor boxes]
 
 
[http://simmons-beauty-rest-mattress.jo.pl/ simmons beauty rest mattress]
 
[http://pur-water-filter.jo.pl/ pur water filter]
 
[http://purifier-water.jo.pl/ purifier water]
 
[http://softener-water.jo.pl/ softener water]
 
[http://lonnie-waters.jo.pl/ lonnie waters]
 
[http://muddy-waters.jo.pl/ muddy waters]
 
[http://schlitterbahn-water-park.jo.pl/ schlitterbahn water park]
 
[http://tankless-water-heater.jo.pl/ tankless water heater]
 
[http://elkay-water-cooler.jo.pl/ elkay water cooler]
 
[http://water-cooler-dispenser.jo.pl/ water cooler dispenser]
 
[http://bottled-water-cooler.jo.pl/ bottled water cooler]
 
[http://igloo-water-cooler.jo.pl/ igloo water cooler]
 
[http://oasis-water-cooler.jo.pl/ oasis water cooler]
 
 
</div>
 

Revision as of 07:22, 24 July 2006

This page describes how to use the ActiveX control with Delphi. Other "how to" pages

Getting started

What you need

  • Borland Delphi 3 or newer
  • a running System with Microsoft Windows
  • VideoLan including the ActiveX Plugin installed

Import the ActiveX-Component

  • Start your Borland Delphi
  • < Delphi2005: Select Components --> Import ActiveX --> VideoLan VLC ActiveX Plugin
  • >= Delphi 2006: Select Components --> Import component --> Import ActiveX Control --> VideoLan VLC ActiveX Plugin
  • Otherwise try creating a new package using the created AXVLC_TLB.pas

Confirm successfull installation

  • You should now be able to add the TVLCPlugin from the ActiveX-Tab of your Component toolbox.

Usage Development-Time

The VLC-Player Object TVLCPlugin can be found in your ActiveX-Components Tabsheet. Place one of it in your Form1, place a TButton and use the following code:

unit Unit1;

interface

uses
  Windows, Variants, Forms, Classes, Controls, StdCtrls, OleCtrls,
  AXVLC_TLB;

type
  TForm1 = class(TForm)
    VLCPlugin1: TVLCPlugin;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
  VLCPlaylistMode = TOleEnum;

const
  VLCPlayListInsert      = $00000001;
  VLCPlayListReplace     = $00000002;
  VLCPlayListAppend      = $00000004;
  VLCPlayListGo          = $00000008;
  VLCPlayListCheckInsert = $00000010;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  VLCPlugin1.addTarget('C:\video.mpg', null, VLCPlayListInsert, 0);
  // you can use any MRL with parameters instead of 'c:\video.mpg' here
  VLCPlugin1.play;
end;

end.

Usage Runtime

If you're planning to use the VLC-Player in your application but don't know when and where, use this code to create the component on-demand.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, OleCtrls,
  AXVLC_TLB, StdCtrls, Registry, Dialogs;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  VLCPlugin1: TVLCPlugin;
  blVLCPluginFound: boolean;

type
  VLCPlaylistMode = TOleEnum;

const
  VLCPlayListInsert      = $00000001;
  VLCPlayListReplace     = $00000002;
  VLCPlayListAppend      = $00000004;
  VLCPlayListGo          = $00000008;
  VLCPlayListCheckInsert = $00000010;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
begin
  blVLCPluginFound := false;

  // Is VLC ActiveX Plugin installed on this PC?
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKeyReadOnly('\Software\Classes\VideoLAN.VLCPlugin.1\') then begin
        blVLCPluginFound := true;
    end;
  finally
    FreeAndNil(Reg);
  end;

  if blVLCPluginFound then begin
    VLCPlugin1 := TVLCPlugin.Create(Self);
    VLCPlugin1.Parent := Self; // Means: Place the VLC-Player into Form1
    VLCPlugin1.Width  := 400;
    VLCPlugin1.Height := 300;
    VLCPlugin1.Top  := 50;
    VLCPlugin1.Left := 50;
    VLCPlugin1.Show;
    VLCPlugin1.addTarget('C:\video.mpg', null, VLCPlayListInsert, 0);
    // you can use any MRL with parameters instead of 'c:\video.mpg' here
    VLCPlugin1.play;
  end else begin
    ShowMessage('I am really sorry, but VLC (or its ActiveX Plugin) is currently not installed on this PC!');
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if blVLCPluginFound then begin
    VLCPlugin1.stop;
    FreeAndNil(VLCPlugin1);
  end;
end;

end.

Alternative way to bring VLC to your Delphi Application

Much easier way to bring VLC to your Delphi Application is to paste a TWebbrowser Object in your Form, is generate Code for the HTML and m3u file and let the Webbrowser load the HTML-file. For detailed information have a look at ActiveX/HTML.

See also

ActiveX/HTML