Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 01-06-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 18
Guillermo80 Va por buen camino
En el debug me sale en call FreeDeviceContexts, si le doy a ctr+F3 me va al boton que llama la función de codificación, pero no me aclara nada, o sea, en código va a:

Cita:
procedure TForm1.BtnDecodeClick(Sender: TObject);
begin

DesHabilitaTodo(Sender);
EditDest.Text:=ChangeFileExt(EditDest.Text, '.flac');// ruta destino + nombre fichero flac
DecodeFile(EditDest.Text, EditFileName.Text); // ruta destino.flac, ruta origen.wav

end;
DesHabilitaTodo no es el problema ya que lo he comentado y sigue saltando la excpeción. DecodeFile es la función que contiene el bucle cuyo código es:
Cita:
while (ok = 1) and (restan > 0) and (BtnDecode.Cancel = false)do
begin
Application.ProcessMessages;
if restan > READSIZE then
begin
necesarias := READSIZE
end
else
begin
necesarias := restan;
end;

progreso := progreso + necesarias;

if(progreso > BarraProgreso.Step) then
begin
BarraProgreso.StepIt;
end;

BlockRead(F_Origen, buffer, tmuestra, transferidas);

if necesarias<tmuestra then
begin
MessageDlg('Error al leer del fichero, las muestras leídas tienen tamaño menor que el tamaño de lectura por muestra', mtError, [mbOk], 0);
ok := 0;
restan := 0;
end
else if ok = 1 then
begin
for i:=0 to (necesarias*channels-1) do
begin
//trabajo ineficiente pero efectivo para sistemas little-endian o big-endian
pcm[i] := FLAC__int32(FLAC__int16(FLAC__int8(buffer[2*i+1]))) shl 8 or FLAC__int16(buffer[2*i]);
end;
//se alimenta el codificador
ok := FLAC__stream_encoder_process_interleaved(pencoder, pcm, necesarias);
end;
restan := restan - necesarias;//necesarias;
end;//while
Si comento la línea que llama a la función FLAC__stream_encoder_process_interleaved, entonces no salta la excepción.

Yo no sé a vosotros, pero yo debugeando con Delphi lo hago a nivel un poco básico y esto del ctrl+F3 y viendo la pila con esas instrucciones en ensamblador no me han aclarado casi nunca los problemas que he tenido...
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
stack overflow juan francisco Varios 6 28-05-2008 22:26:15
Stack overflow aonarres API de Windows 5 29-02-2008 13:07:11
Stack overflow al reabrir una tabla jzginez Conexión con bases de datos 1 24-04-2007 16:52:53
Stack Overflow agonzalez Varios 5 08-12-2006 22:26:46
Stack Overflow Mariana Varios 14 30-10-2003 11:37:47


La franja horaria es GMT +2. Ahora son las 05:21:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi