Вниз
Скачать: CL | DM;

Проблема в работе StrPCopy   Найти похожие ветки 

 
Ramzes001 ©   (2008-03-29 10:15) [0]

Приветствую всех Мастеров!
Имеется следующий код:
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, у всех она работает нормально,помогите пожалуйста, если кто то сталкивался.
Заранее спасибо!


 
Сергей М. ©   (2008-03-29 10:23) [1]


> если его на прямую вписывать в функцию PlaySound, то он
> матерится, что мол формат не тот


PlaySound(PChar(MyStringVar)...);


 
Palladin ©   (2008-03-29 10:23) [2]

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;


выбирай любой вариант, ошибку надеюсь понял? справку читать будешь?


 
Ramzes001 ©   (2008-03-29 11:23) [3]

Всё работает!! Всем спасибо! Ошибку понял. Справку читать буду пытаться, но к сожалению мои знания английского близки к нулю.
Ещё раз всем спасибо!!!!!!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
4-1186639228
Classic
2007-08-09 10:00
2008.04.20
Необходимо перехватить момент печати на принтере


2-1206226902
Elec3C
2008-03-23 02:01
2008.04.20
Процедуры


2-1206481954
Adios
2008-03-26 00:52
2008.04.20
можноли получить хэндлы всех программ свёрнутых в трей?


2-1206435144
lead-in
2008-03-25 11:52
2008.04.20
количество процессов


2-1206537927
nicky000
2008-03-26 16:25
2008.04.20
could not convert variant of type (string) into type (double)




   Наверх