![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема в работе StrPCopy [D2005, XP]
Ramzes001 © (2008-03-29 10:15:00)Приветствую всех Мастеров!
Имеется следующий код:
procedure TformMain.N3Click(Sender: TObject);
var
PCh: PChar;
begin
StrPCopy(PCh,'D:\DCIM\DSC00074.wav');
PlaySound(PCh,0, SND_FILENAME or SND_SYNC);
end;
к сожалению он не работает, вылетает Access violation, построчное компилирование (или как оно называется, в общем F7/F8) показывает, что ошибка в строке с функцией StrPCopy, меняю код на:
//StrPCopy(PCh,'D:\DCIM\101_SONY\DSC00074.JPG.wav');
PlaySound('D:\DCIM\101_SONY\DSC00074.JPG.wav',0, SND_FILENAME or SND_SYNC);
всё работает, но проблема в том, что требуется чтоб имя файла было переменной типа string, а если его на прямую вписывать в функцию PlaySound, то он матерится, что мол формат не тот. Искал коментарии по функции StrPCopy, у всех она работает нормально,помогите пожалуйста, если кто то сталкивался.
Заранее спасибо!
Ramzes001 (2008-03-29 11:23:00) [1]Всё работает!! Всем спасибо! Ошибку понял. Справку читать буду пытаться, но к сожалению мои знания английского близки к нулю.
Ещё раз всем спасибо!!!!!!!
Сергей М. (2008-03-29 10:23:00) [2]
> если его на прямую вписывать в функцию PlaySound, то он
> матерится, что мол формат не тот
PlaySound( PChar(MyStringVar )...);
Palladin (2008-03-29 10:23:00) [3]
TformMain.N3Click(Sender: TObject);
var
PCh: PChar;
begin
PCh:='D:\DCIM\DSC00074.wav';
PlaySound(PCh,0, SND_FILENAME or SND_SYNC);
end;
TformMain.N3Click(Sender: TObject);
var
PCh: String;
begin
PCh:='D:\DCIM\DSC00074.wav';
PlaySound(PChar(PCh),0, SND_FILENAME or SND_SYNC);
end;
TformMain.N3Click(Sender: TObject);
var
PCh: PChar;
begin
GetMem(PCh,Length('D:\DCIM\DSC00074.wav')+1);
StrPCopy(PCh,'D:\DCIM\DSC00074.wav');
PlaySound(PCh,0, SND_FILENAME or SND_SYNC);
FreeMem(PCh)
end;
выбирай любой вариант, ошибку надеюсь понял? справку читать будешь?