Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2008, 12:24   #1
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
Лампочка MP3 проигрыватель

Здравствуйте уважаемые программисты. Необходима помощь. Написал MP3 плайер, всё компилируется, но при запуске проги выскакивает ошибка. Плз объясните в чём дело.
Исходник прикреплён.
Вложения
Тип файла: rar Player.rar (193.0 Кб, 27 просмотров)
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 10.05.2008, 12:28   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

А скрин ошибки прикрепить?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 10.05.2008, 12:56   #3
Rembo
Форумчанин
 
Аватар для Rembo
 
Регистрация: 29.10.2007
Сообщений: 628
По умолчанию

Вот скрин ошибки, которая у меня вылезла... ЗЫ: одно и тоже сообщение (эта ошибки), как я понял будет бесконечно появляться...
PS если плохо по скрину видно, там написано "No MCI device open."
Изображения
Тип файла: jpg Error.jpg (20.6 Кб, 167 просмотров)

Последний раз редактировалось Rembo; 10.05.2008 в 12:59.
Rembo вне форума Ответить с цитированием
Старый 10.05.2008, 19:40   #4
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

При компиляции выходит ещё ошибка:
"Project Project1.exe raised exeption class EStringListError with message "List index out of bounds (-1)". Process stopped. Use Step or Run to continue."
Изображения
Тип файла: jpg Snap1.jpg (37.3 Кб, 156 просмотров)
My Life v1.0b ERROR: health.dll not found

Последний раз редактировалось xxxPascalxxx; 10.05.2008 в 19:46.
xxxPascalxxx вне форума Ответить с цитированием
Старый 10.05.2008, 19:46   #5
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

xxxPascalxxx, как ты думаешь кому больше нужен ответ на твой вопрос? Если тебе - почему приходится вытягивать из тебя информацию?

Скрин приложил, это хорошо, но вот не видно там ничего...
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 10.05.2008, 19:53   #6
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Вот код всей проги:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, MPlayer, MMSYSTEM, FileCtrl;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    ListBox1: TListBox;
    Label2: TLabel;
    TrackBar1: TTrackBar;
    Timer1: TTimer;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    MediaPlayer1: TMediaPlayer;
    Shape1: TShape;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure Play;
    procedure PlayList(Path: string);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
   SoundPath: string[255];
   min,sec:integer;
   volume: LongWord;

procedure TForm1.PlayList (Path: string);
var
   lpBuf: PChar;
   sWinDir: string[128];

SearchRec: TsearchRec;
Begin
   ListBox1.Clear;
   if FindFirst(Path + '*.mp3', faAnyFile, SearchRec)=0 then
     begin
     ListBox1.Items.Add (SearchRec.Name);
     while (FindNext(SearchRec)=0) do
     ListBox1.Items.Add (SearchRec.Name);
   end;
   ListBox1.ItemIndex:=0;
 end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  PlayList('');
  ListBox1.ItemIndex:=0;
  Label1.Caption:=ListBox1.Items[ListBox1.ItemIndex];
  TrackBar1.Position:=7;
  volume:=(TrackBar1.Position-TrackBar1.Max+1)*6500;
  volume:=volume+(volume shl 16);
  waveOutSetVolume(WAVE_MAPPER,volume);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
   if not SpeedButton2.Down then
   SpeedButton2.Down:=true;
   Label1.Caption:=ListBox1.Items[ListBox1.ItemIndex];
   Play;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
    if SpeedButton2.Down then
    Play
    else
    begin
    MediaPlayer1.Stop;
    Timer1.Enabled:=False;
    SpeedButton2.Down:=False;
    SpeedButton2.Hint:='Play';
    end;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
    if ListBox1.ItemIndex<0 then
      ListBox1.ItemIndex:=ListBox1.ItemIndex-1;
     Play;
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
    if ListBox1.ItemIndex<ListBox1.Count then
      ListBox1.ItemIndex:=ListBox1.ItemIndex+1;
     Play;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
    volume:=6500*(TrackBar1.Max-TrackBar1.Position);
    volume:=volume+(volume shl 16);
    waveOutSetVolume(WAVE_MAPPER,volume);
end;

procedure TForm1.Play;
begin
  Timer1.Enabled:=False;
  Label1.Caption:=ListBox1.Items[ListBox1.ItemIndex];
  MediaPlayer1.FileName:=SoundPath+Listbox1.Items[ListBox1.ItemIndex];
  try
  MediaPlayer1.Open;
  except
  on EMCIDeviceError do
  begin
  ShowMessage('Îøèáêà îáðàùåíèÿ ê ôàéëó '+ListBox1.Items[ListBox1.ItemIndex]);
  SpeedButton2.Down:=False;
  exit;
  end;
end;
MediaPlayer1.Play;
min:=0;
Sec:=0;
Timer1.Enabled:=True;
speedButton2.Hint:='Stop';
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   if sec<59 then
   inc(sec)
   else
   begin
   sec:=0;
   inc(min);
   end;
  Label2.Caption:=IntToStr(min)+':';
  if sec<10 then
  Label2.Caption:=Label2.Caption+'0'+IntToStr(sec)
  else Label2.Caption:=Label2.Caption+IntToStr(sec);
  if MediaPlayer1.Position<MediaPlayer1.Length then
  exit;
  Timer1.Enabled:=False;
  MediaPlayer1.Stop;
  If ListBox1.ItemIndex<ListBox1.Count then
  begin
  ListBox1.ItemIndex:=ListBox1.ItemIndex+1;
  Play;
  end;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
var
 Root:String;
 pwRoot:PWideChar;
 Dir:string;
begin
    Root:='';
    GetMem(pwRoot, (Length(root)+1)*2);
    pwRoot:=StringToWideChar(Root,pwRoot,MAX_PATH*2);
    if not SelectDirectory('Âûáåðåòè ïàïêó',pwRoot,Dir)
    then Dir:=''
    else Dir:=Dir+'\';
    SoundPath:=Dir;
    PlayList(SoundPath);
end;

end.
Четыре SpeedButton за Shape1, на форме не видно, хотел сделать для рамки...
Изображения
Тип файла: jpg Snap2.jpg (20.0 Кб, 162 просмотров)
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 10.05.2008, 20:01   #7
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Вот увел. окно ошибки, и строки...
Изображения
Тип файла: jpg Snap3.jpg (32.6 Кб, 163 просмотров)
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 10.05.2008, 20:18   #8
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Значит идёт выход за пределы. В ошибке же написанно...
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 10.05.2008, 22:58   #9
xxxPascalxxx
Life:[### ]22%
Пользователь
 
Аватар для xxxPascalxxx
 
Регистрация: 15.12.2007
Сообщений: 48
По умолчанию

Выход за пределы чего? Label? Какой бы её не делал широкой либо длинной, всё равно таже ошибка... И это касается как label1 так и label2
My Life v1.0b ERROR: health.dll not found
xxxPascalxxx вне форума Ответить с цитированием
Старый 10.05.2008, 23:02   #10
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Цитата:
Какой бы её не делал широкой либо длинной, всё равно таже ошибка...


ItemIndex вышел за границу, при чем тут Label'ы?
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проигрыватель своими руками Prisian Мультимедиа в Delphi 2 01.09.2008 16:09
Народ как бэйсике проигрыватель создать? LuMax Помощь студентам 5 03.03.2008 11:28
Проигрыватель встроенный в прогу *Devil* Общие вопросы Delphi 4 22.05.2007 06:07