Windows mediaplayer ol2.dcu sorunu.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

Windows mediaplayer ol2.dcu sorunu.

Mesaj gönderen diseqc »

Merhaba;
Delphi7 de çalışan bir projem vardı ihtiyaç oldu eski kodlarımı buldum delphi 11 de derlemeye çalışıyorum tüm eksikleri giderdim ancak Delphi 7 de uses satırında ol2.dcu diye bir eklenti kullanmışım burada F2063 : cold not compile used unit 'ole2' at line 8 ... şeklinde bir derleme hatası veriyor.
Kod: windows media player bir panel üzerinde çalışıyor video açıldığında ortada küçük oynatıyor bu kod onu tam ekran yapıyordu.
Acaba delphide bir tanımlama yada component mi yükledim hatırlamıyorum.
konu hakkında fikriniz varsa desteğinizi bekliyorum iyi forumlar

Kod: Tümünü seç

uses ole2
procedure TForm2.SmoothResizeMediaPlayer(aMediaPlayer: TWindowsMediaPlayer;
  PosRect, ClipRect: Trect);
const
  IID_IOleInPlaceObject: SYSTEM.TGUID = '{00000113-0000-0000-C000-000000000046}';
var
  IOIPObj: IOleInPlaceObject;
begin
  SYSTEM.IDispatch(aMediaPlayer.OleObject).QueryInterface(IID_IOleInPlaceObject, IOIPObj);
  IOIPObj.SetObjectRects(PosRect, ClipRect);
end;

procedure TForm2.Panel1Resize(Sender: TObject);
 const
    IID_IOleInPlaceObject: SYSTEM.TGUID = '{00000113-0000-0000-C000-000000000046}';
 var
  IOIPObj: IOleInPlaceObject;
 begin
  SYSTEM.IDispatch(WindowsMediaPlayer1.OleObject).QueryInterface(IID_IOleInPlaceObject, IOIPObj);
  IOIPObj.SetObjectRects(Panel1.ClientRect, Panel1.ClientRect);
 end;

procedure TForm2.WindowsMediaPlayer1PlayStateChange(ASender: TObject;
  NewState: Integer);
begin
  if form1.acikmi then
   if (WindowsMediaPlayer1.status='Durduruldu') or (WindowsMediaPlayer1.status='Stopped')  then WindowsMediaPlayer1.controls.play;
end;

mertc
Üye
Mesajlar: 2
Kayıt: 30 Ara 2024 04:46

Re: Windows mediaplayer ol2.dcu sorunu.

Mesaj gönderen mertc »

uses
ComObj, ActiveX;

var
WMP: Variant;
begin
WMP := CreateOleObject('WMPlayer.OCX');
WMP.FullScreen := True;
end;
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

Re: Windows mediaplayer ol2.dcu sorunu.

Mesaj gönderen diseqc »

mertc yazdı: 24 Oca 2025 06:17 uses
ComObj, ActiveX;

var
WMP: Variant;
begin
WMP := CreateOleObject('WMPlayer.OCX');
WMP.FullScreen := True;
end;
merhaba desteğin için teşekkür ederim ama istediğim video yu tam ekran olarak oynatmak değil. video tam ekran yapsamda ortada küçük bir şekilde oynatılıyor video yu panel içerisinde tam dolduracak şekilde genişleterek oynatmak istiyorum
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

Re: Windows mediaplayer ol2.dcu sorunu.

Mesaj gönderen diseqc »

aslında buradaki sorun ile aynı sorun ama öçözüm önerisini nasıl kullanacağımı anlamadım ?

https://stackoverflow.com/questions/593 ... ent-window

https://stackoverflow.com/questions/149 ... ediaplayer
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Windows mediaplayer ol2.dcu sorunu.

Mesaj gönderen freeman35 »

Bunları bir incele, TOleControl.SetBounds u override etmen gerek diye anladım.
https://zarko-gajic.iz.hr/delphi-interc ... sstbutton/
https://zarko-gajic.iz.hr/preserve-inte ... /#more-922
https://github.com/JackTrapper/DelphiBugs/issues/16
ben hiç activex kullanmadım
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

Re: Windows mediaplayer ol2.dcu sorunu.

Mesaj gönderen diseqc »

Ben cevaplayayım sorun eski proje dosyasındaki var olan ole2.dcu dosyasından kaynaklanıyormuş onu siildim delphi7 yada herhangi bir sürümde delphi 7\Install\program files\Borland\Delphi7\Source\Rtl\Win kalsöründe var olan ole2.pas dosyasını projenin yanına kopyalayıp derleyince yeni bir dcu dosyası oluşturuyor iyi forumlar
Cevapla