Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

Прога на другом компе не работает. В проге 3 строчки :(   Найти похожие ветки 

 
Doctor Deejay ©   (2002-06-28 18:43) [0]

Данный код не срабатывает на компе соседа! В чем трабл???
Только без приколов, бо совсем замучался....

procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
cap: TAuxCaps;
begin
for i := 0 to auxGetNumDevs - 1 do begin
auxGetDevCaps(i, Addr(cap), SizeOf(cap));
ListBox1.Items.Add(cap.szPname)
end;
end;


 
Volj ©   (2002-06-28 18:56) [1]

А что это за TAuxCaps такой? ActiveX, небось? Если да, то его надо ставить...


 
Doctor Deejay ©   (2002-06-29 10:41) [2]

>Volj © (28.06.02 18:56)

Нет, эти строки выводят в мемо список всех доступных девайсов звуковой карты


 
Wizard_Ex ©   (2002-06-29 13:16) [3]

Может у него карты как раз и нету ? :-)


 
Doctor Deejay ©   (2002-06-30 00:17) [4]

Есть карта. Проверял у 8 челове. У них карты начиная от ЕСС и заканчивая лайвом...

Может все-таки что-то установить нужно?
Напишите кому исходник прислать, пусть у себя перекомпилит и проверит.
Очень нужно, т.к. прога очень полезная, но не работает ни у кого...... :(


 
Doctor Deejay ©   (2002-06-30 09:31) [5]

НУ ПОМОГИТЕ ХОТЬ ЧЕМ-ТО


 
Polevi ©   (2002-06-30 09:57) [6]

да, полезная программа :-)


 
Doctor Deejay ©   (2002-06-30 11:58) [7]

Программа полезная. Но эти три строчки не работают на других тачках. Может дело в ДЛЛ?


 
Anatoly Podgoretsky ©   (2002-06-30 12:13) [8]

Ряд допольнительных вопросов
1. чему равно auxGetNumDevs
2. какое значение LastError в случае 0

Ты очень самонадеянный если думаешь, что в системе/программе не бывает ошибок, надо хотя бы минимальную обработку делать


 
Doctor Deejay ©   (2002-06-30 13:56) [9]

У меня на компе она работает, а у других нет.

>Ряд допольнительных вопросов
>1. чему равно auxGetNumDevs

Количеству доступных девайсов


 
Anatoly Podgoretsky ©   (2002-06-30 14:20) [10]

Да не назначение, а какое количество возвращает


 
NailS ©   (2002-06-30 15:24) [11]

Попробуй так

begin
if auxGetNumDevs = 0 then ShowMessage(SysErrorMessage(GetLastError));
end;


Если сообщения не будет попробуй отключить оптимизацию кода
и перед циклом присвой i := 0 (своего рода шаманство, но иногда помогает ;))


 
Doctor Deejay ©   (2002-06-30 19:57) [12]

Ещё раз повторяю - ПРОГА работае только у меня, почему не работает у других?
Ошибка где-то в коде, т.к. систему всю только переставил!

Я попробую сдать так как вы сказали.
Если хотите, то я могу прислать вам exe + исходник. exe работать не будет, пока вы его у себя не скомпилите!!!

Я уже 2 недели трахаюсь с этим


 
Cobalt ©   (2002-06-30 20:47) [13]

говорит, что параметр задан неверно.
У меня ESS688 PnP AudioDrive
P.S. Приведи примеры карт, у которых обнаружены Auxiliary output devices
Скорее всего, проблема в устройствах


 
Doctor Deejay ©   (2002-06-30 21:28) [14]

А как мне тогда определить все доступные устройства звуковухи?
Ну т.е. миди, вэйв мик и т.д.


 
Anatoly Podgoretsky ©   (2002-06-30 21:32) [15]

А мы с 28 спрашивает, какое значение возвращает auxGetNumDevs и если оно равно нулю, то какую ошибку возвращает Windows, тебе даже и код привели NailS © (30.06.02 15:24)


 
Doctor Deejay ©   (2002-07-02 00:58) [16]

> какую ошибку возвращает Windows, тебе даже и код привели NailS > © (30.06.02 15:24)

при нуле возвращает:
The parameter is incorrect

Причем у трёх моих друзей!


 
Mashinist ©   (2002-07-02 01:08) [17]

Судя по всему, трабла в железяках.
На первый взгляд - возможно, VIA и Intel.
То есть, дрова к VIA, дрова к аудио и т.д.
Трабла явно не в коде, а в железе.
Опиши конфигурацию.


 
TCArmAgeDDoN ©   (2002-07-02 09:02) [18]

Не...Ты лучше расскажи , как не работает? Ошибку выдаёт или просто устройства не видет?


 
Doctor Deejay ©   (2002-07-02 09:39) [19]

if auxGetNumDevs = 0 then ShowMessage(SysErrorMessage(GetLastError));

На других машинах всегда 0
А у меня все нормально!


 
Widemaer   (2002-07-02 09:40) [20]

Пришли свой файлец - посмотрю.


 
alexadvanser ©   (2002-07-02 09:47) [21]

Я бы тоже хотел взглянуть...


 
Леван   (2002-07-02 10:02) [22]

Я тоже попробовал auxGetNumDevs() на двух машинах
у меня ЕSS 1938, которая устанавливает 2 драивера и auxGetNumDevs
видает 2
Рядом у коллеги Crerative Live и auxGetNumDevs выдает 0
Значит, auxGetNumDevs неправильно срабативает или его функция не совсем понятна:
The auxGetNumDevs function retrieves the number of auxiliary output devices present in the system.

UINT auxGetNumDevs(VOID);

Parameters

This function takes no parameters.

Return Values

Returns the number of device. A return value of zero means that no devices are present or that an error occurred.
Ничего не поделаешь, se la vi!



 
Doctor Deejay ©   (2002-07-02 10:22) [23]

А КАК ТОГДА ОПРЕДЕЛИТЬ ВСЕ ДОСТУПНЫЕ ДЕВАЙСЫ ЗВУКОВОЙ КАРТЫ???????

Я уверен, что это возможно.

Мне нужно регулировать виндовую громкость.
Если будет другой выход - буду очень раз


 
handra ©   (2002-07-02 10:37) [24]

а почему auxGetNumDevs, во всяко случае лучше воспользоваться функциями mixer...


 
Doctor Deejay ©   (2002-07-02 11:03) [25]

Можно пример или хотя бы название функций?


 
Doctor Deejay ©   (2002-07-02 12:02) [26]

>handra © (02.07.02 10:37)
>а почему auxGetNumDevs, во всяко случае лучше воспользоваться >функциями mixer...

Что за функции?


 
Doctor Deejay ©   (2002-07-02 13:55) [27]

mixerGetLineInfo - это должно помочь?


 
Севостьянов Игорь ©   (2002-07-02 14:15) [28]

Есть тут у меня компонент + пример для твоего случая
Там и определение устроств и запись в файл, и проигрыш, и регулятор звука

Ну например вот куски оттуда

function TMixerSettings.Query(var Product,Formats:string):boolean;
var
PMix : PMixDetails;
i : integer;
begin
Result:=false;
Product:=""; Formats:="";
if MixerReady then begin
if (mixerGetNumDevs=0) then begin
Formats:="Mixer not present";
end else begin
PMix:=MixerStart;
if PMix<>nil then Product:=PMix.Name;
Formats:="Mixer devices present: "+IntToStr(mixerGetNumDevs)+". DeviceID "+
IntToStr(FAudio.FMixerDeviceID)+" has:";
i:=0; PMix:=PMix^.Next;
while PMix<>nil do begin
if (PMix.Destination=i) then begin
Formats:=Formats+#13#10+PMix.Name+": ";
i:=i+1;
end else begin
Formats:=Formats+PMix.Name+", ";
end;
PMix:=PMix^.Next;
end;
Result:=true;
end;
end;
end;

Надо ? Пиши на мыло, пришлю, но компиляция не проходит (разработчик в пример напихал еще кучу хлама типа Оссцилограф для отображения уровня звука наверное)

Не помещается все ...


 
Севостьянов Игорь ©   (2002-07-02 14:17) [29]

Есть просто регулятор звука для разных устройств

вот кусок оттуда

function TAudioMixer.SetVolume (ADestination,AConnection:Integer;LeftVol,RightVol,Mute:Integer):Boolean;
var MD:TMixerDestination;
MC:TMixerConnection;
Cntrls:TMixerControls;
MCD:TMixerControlDetails;
Cntrl:PMixerControl;
A,B:Integer;
ML:TMixerLine;
details:array [0..30] of Integer;
VolSet,MuteSet:Boolean;
begin
Result:=False;
MD:=Destinations[ADestination];
If MD<>nil then
begin
If AConnection=-1 then
begin
Cntrls:=MD.Controls;
ML:=MD.Data;
end
else
begin
MC:=MD.Connections[AConnection];
If MC<>nil then
begin
Cntrls:=MC.Controls;
ML:=MC.Data;
end
else
Cntrls:=nil;
end;
If Cntrls<>nil then
begin
A:=0;
VolSet:=LeftVol=-1;
MuteSet:=Mute=-1;
Result:=True;
while (not VolSet OR not MuteSet) AND (A<Cntrls.Count) do
begin
Cntrl:=Cntrls[A];
If Cntrl<>nil then
begin
If ((Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME) OR
(Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MUTE)) AND
(Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_MULTIPLE<>MIXERCONTROL_CONTROLF_MULTIPLE)
then
begin
MCD.cbStruct:=SizeOf(TMixerControlDetails);
MCD.dwControlID:=Cntrl.dwControlID;
If Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_UNIFORM>0 then
MCD.cChannels:=1
else
MCD.cChannels:=ML.cChannels;
MCD.cMultipleItems:=0;
MCD.cbDetails:=SizeOf(Integer);
MCD.paDetails:=@Details;
If (Cntrl.dwControlType=MIXERCONTROL_CONTROLTYPE_VOLUME) AND not VolSet then
begin
Details[0]:=LeftVol;
If RightVol=-1 then
Details[1]:=LeftVol
else
Details[1]:=RightVol;
VolSet:=True;
end
else
If (Cntrl.dwControlType=MIXERCONTROL_CONTROLTYPE_MUTE) AND not MuteSet then
begin
Details[0]:=Mute;
MuteSet:=True;
end;
mixerSetControlDetails (FMixerHandle,@MCD,MIXER_GETCONTROLDETAILSF_VALUE);
end;
end;
Inc (A);
end;
If not MuteSet then
begin
If AConnection<>-1 then
begin
Cntrls:=MD.Controls;
ML:=MD.Data;
If Cntrls<>nil then
begin
A:=0;
while not MuteSet AND (A<Cntrls.Count) do
begin
Cntrl:=Cntrls[A];
If (Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MIXER) OR
(Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MUX) then
begin
MCD.cbStruct:=SizeOf(TMixerControlDetails);
MCD.dwControlID:=Cntrl.dwControlID;
If Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_UNIFORM>0 then
MCD.cChannels:=1
else
MCD.cChannels:=ML.cChannels;
If Cntrl.fdwControl AND MIXERCONTROL_CONTROLF_MULTIPLE=MIXERCONTROL_CONTROLF_MULTIPLE then
MCD.cMultipleItems:=Cntrl.cMultipleItems
else
MCD.cMultipleItems:=0;
MCD.cbDetails:=4;
MCD.paDetails:=@Details;
MuteSet:=True;
mixerGetControlDetails (FMixerHandle,@MCD,MIXER_GETCONTROLDETAILSF_VALUE);
if (Cntrl.dwControlType = MIXERCONTROL_CONTROLTYPE_MUX) then
For B:=0 to Cntrl.cMultipleItems-1 do
Details[B]:=0;
Details[AConnection]:=Mute;
mixerSetControlDetails (FMixerHandle,@MCD,MIXER_GETCONTROLDETAILSF_VALUE);
end;
Inc (A);
end;
end;
end;
end;
end;
end;
end;


Все идет через Mixer, я не разбирался мне не надо...
У себя эти вещи проверил под Win2000
А твой пример не работает т.к. auxGetNumDevs = 0


 
Doctor Deejay ©   (2002-07-02 14:59) [30]

И где тут для микрофона?
На мыло выслал!


 
Севостьянов Игорь ©   (2002-07-02 15:40) [31]

На мыло выслал...
Посмотришь может и для микр-на есть... Я не смотрел...
Блин еле отправил тебе письмо - mail.ru глючил...
Если пришло несколько - моя вина - сервер б-дский


 
asmer   (2002-07-04 00:42) [32]

auxGetNumDevs - возвращает количество _дополнительных_ устройств вывода на карте... а на многих современных картах таких вааще нету :) потому, что установленные на какой-нить сб-платине выходы под тыловые колонки недоступны для апишного доступа, к ним через дрова обращаются... а функция mixerGetNumDevs возвращает количество всех устройств, доступных на плате... типа, и об ентом уже сказал товарисч... млин... как его... скроллинг на мышке чё-та заглючил... больше никого с грязными руками к моему компу не подпущу!..


 
B_Sergey ©   (2002-08-05 23:20) [33]

У тебя плохой комп, выкень его или поменяйся с соседом.



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

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.017 c
7-45599
Doctor Deejay
2002-06-28 18:43
2002.10.14
Прога на другом компе не работает. В проге 3 строчки :(


14-45542
AL2002
2002-09-19 16:51
2002.10.14
Реально ли такое толкануть?


1-45376
lety
2002-10-04 00:11
2002.10.14
таблица с заголовком в 2 уровня


4-45660
arcoant
2002-08-29 15:05
2002.10.14
И снова чужие окна


14-45515
Malder
2002-09-15 14:38
2002.10.14
Кто что думает о легализации проституции