Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 17
Guillermo80 Va por buen camino
Dll oficial sí, la mía, no

Hola, estaba haciendo un programa con una dll compilada por digamos "la casa oficial de FLAC" y me iba bastante bien, pero al compilarla yo (tras instalar un componente nasmw.exe que se requería) con Visual Studio, genero una dll que en principio parece funcionar, pero que cuando llega a hacer uso de una función en la que inicializa un fichero abierto en modo lectura/ecritura pues peta, y el error es el siguiente:

Cita:
Project writewav.exe raised exception class EAccessViolation with message 'Acces violation at address 7C928FEA in module 'ntdll.dll'. Write of address 0000EF0B'. Process stopped. Use Step or Run to continue.
El caso es que mi dll sea llama libFlac.dll y no sé qué es esa ntdll.dll, y como otra curiosidad es que usando la dll que sí funciona "perfecta" en esa misma función se ve que el fichero que le paso, un wav, (no sé por qué) me sale en un enumerado que es "not streamable", así que perdido ando.

Agradecería que alguien me echara un cable, ya que es para mi proyecto de fin de carrera.

Un saludo.
Responder Con Cita
  #2  
Antiguo 08-04-2008
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Cita:
Empezado por Guillermo80 Ver Mensaje
Hola, estaba haciendo un programa con una dll compilada por digamos "la casa oficial de FLAC" y me iba bastante bien, pero al compilarla yo (tras instalar un componente nasmw.exe que se requería) con Visual Studio, genero una dll que en principio parece funcionar, pero que cuando llega a hacer uso de una función en la que inicializa un fichero abierto en modo lectura/ecritura pues peta, y el error es el siguiente:



El caso es que mi dll sea llama libFlac.dll y no sé qué es esa ntdll.dll, y como otra curiosidad es que usando la dll que sí funciona "perfecta" en esa misma función se ve que el fichero que le paso, un wav, (no sé por qué) me sale en un enumerado que es "not streamable", así que perdido ando.

Agradecería que alguien me echara un cable, ya que es para mi proyecto de fin de carrera.

Un saludo.
Hola, con que herramienta y version esta compilada la dll, y con que herramienta y version la has compilado tu (ya que solo dices visual studio, pero tienes que brindar mas detalle)

Saludos
__________________
"La información tiene más valor cuando se comparte"
Responder Con Cita
  #3  
Antiguo 08-04-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 17
Guillermo80 Va por buen camino
Madre mía, ¿cómo voy a saber yo la versión con la que se generó la dll original? de todas formas me parece a mi entender absurdo, si ambas dll fueron compiladas con el mismo código con éxito el resultado debería ser el mismo, y compatible con cualquiera que hiciera uso de la misma y de las funciones que contiene, ¿no? Yo la he compilado con Visual Studio C++ 6.0.

La rareza extrema es que haya cosas que funcionen bien y otras que no.

Un saludo y gracias por el interés.
Responder Con Cita
  #4  
Antiguo 09-04-2008
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Al compilar en C o C++

el codigo resultante. se puede optimizar.
(una tonteria, cuando te das cuenta que no son optimizaciones estandar, no todos
los compiladores ni versiones de c o c++ las soportan, ni vienen claro como se activan
esas optimizaciones)

pascal, de delphi , tiene formas y opciones de optimizacion, pero.
yo creo que casi nadie las toca. por que el codigo, sale muy bien compilado.

Entonces tu codigo fuente. puede requerir, archivos .DEF
con el nombre de las funciones que se exportan.
o alguna opcion de como hacer el link, con otras Dll
del sistema operativo.
Responder Con Cita
  #5  
Antiguo 09-04-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 17
Guillermo80 Va por buen camino
Gracias JXJ, entonces entiendo que debería buscar si al generar la dll ha generado como tú dices ese fichero .def, que sirva para poder linkear con las funciones definidas, ¿no? voy a investigar eso a ver si puede ser. Al menos parece que tiene sentido, y que esa ntdll.dll sea del sistema operativo.

Un saludo.
Responder Con Cita
Respuesta



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
Publicado RoadMap oficial de Delphi y C++ Builder. Epachsoft Noticias 14 13-07-2007 19:37:09
FAQ oficial sobre los turbo en español: mamcx Noticias 2 16-09-2006 02:34:42
Arranque dual "oficial", en MacIntel vtdeleon Noticias 5 16-04-2006 13:21:45
Update no oficial no.4 para Delphi 2005 Epachsoft Noticias 16 12-09-2005 15:59:45


La franja horaria es GMT +2. Ahora son las 22:17:04.


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