Ir al contenido


Foto

Error Loading MIDAS.DLL


  • Por favor identifícate para responder
12 respuestas en este tema

#1 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 22 noviembre 2011 - 06:56

Hola amigos.

De un día para otro, algo se me ha estropeado en Delphi (tanto en Delphi 6 como en Delphi 2010), y en el IDE, al intentar abrir ClientDatasets (tanto contra FibPlus como contra dbExpress), me sale un error : Error Loading MIDAS.DLL.

Esto nunca me lo había hecho antes, y ahora me lo hace continuamente (aunque no siempre, algunos ClientDatasets se abren correctamente y otros fallan, a pesar de que las consultas FibPlus/dbExpress en que se basan sí que se abren sin problemas).

Aunque en tiempo de ejecución no hay ningún problema, es terriblemente laborioso tener que programar sin poder abrir Datasets en tiempo de diseño.

Lo único que se me ocurre que he hecho últimamente fue instalar una Trial de Delphi XE2, probar el nuevo FireMonkey (que me llama mucho la atención) y desinstalarlo.

No sé si esto habrá desconfigurado/estropeado nada, ni si tiene la menor relación con el problema (aunque no se me ocurra otra).

¿ A alguien le ha ocurrido algo similar ?. No sé que mirar, el archivo midas.dll que tengo en System32 es el archivo correcto, el mismo que tengo en otros equipos con Delphi 6/2010 y donde nunca instalé XE2.

¿ Qué probaríais vosotros de encontraros con este problema ?.

Saludos y gracias.

NOTA: Si en Delphi 2010 miro los Details del error, me informa de lo siguiente.

[50622D73]{dsnap140.bpl} DBClient.TCustomClientDataSet.DoGetRecords (Line 4645, "DBClient.pas" + 4) + $46
[5061A05A]{dsnap140.bpl} DBClient.TCustomClientDataSet.OpenCursor (Line 1156, "DBClient.pas" + 25) + $3F
[50690C79]{dbrtl140.bpl} DB.TDataSet.SetActive (Line 11310, "DB.pas" + 12) + $7
[500516EE]{rtl140.bpl  } TypInfo.SetOrdProp (Line 1723, "TypInfo.pas" + 27) + $0
[20DA5FF2]{designide140.bpl} DesignEditors.TPropertyEditor.SetOrdValue (Line 841, "DesignEditors.pas" + 2) + $E
[20DEB0FD]{designide140.bpl} VCLEditors.TBooleanProperty.MouseUp (Line 1838, "VCLEditors.pas" + 5) + $10
[20EBFF05]{vclide140.bpl} PropBox.TCustomPropListBox.ItemMouseUp (Line 1625, "propbox.pas" + 16) + $1B
[20EC00FB]{vclide140.bpl} PropBox.TCustomPropListBox.MouseUp (Line 1690, "propbox.pas" + 1) + $D
[50296810]{vcl140.bpl  } Controls.TControl.DoMouseUp (Line 7306, "Controls.pas" + 2) + $28
[5029688C]{vcl140.bpl  } Controls.TControl.WMLButtonUp (Line 7319, "Controls.pas" + 9) + $6
[20EC5740]{vclide140.bpl} IDEInspListBox.TInspListBox.WMLButtonUp (Line 1615, "IDEInspListBox.pas" + 3) + $4
[50295E70]{vcl140.bpl  } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[50299FCB]{vcl140.bpl  } Controls.TWinControl.IsControlMouseMsg (Line 9596, "Controls.pas" + 1) + $9
[5029A738]{vcl140.bpl  } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[501F06D4]{vcl140.bpl  } StdCtrls.TCustomListBox.WndProc (Line 6117, "StdCtrls.pas" + 37) + $4
[50299DD8]{vcl140.bpl  } Controls.TWinControl.MainWndProc (Line 9540, "Controls.pas" + 3) + $6
[50076408]{rtl140.bpl  } Classes.StdWndProc (Line 13015, "Classes.pas" + 8) + $0
[502C8775]{vcl140.bpl  } Forms.TApplication.ProcessMessage (Line 9760, "Forms.pas" + 30) + $1
[502C87BA]{vcl140.bpl  } Forms.TApplication.HandleMessage (Line 9790, "Forms.pas" + 1) + $4
[502C8AE5]{vcl140.bpl  } Forms.TApplication.Run (Line 9927, "Forms.pas" + 26) + $3
[004369AE]{bds.exe    } bds.bds (Line 200, "" + 8) + $FFFB


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 22 noviembre 2011 - 08:22

Hola Marc,

A mi me pasó algo similar pero al instalar el Get AppWave, lo desinstalé y ya no tuve problemas.

Supongo que la librería se "des-registró" habrá que registrarlo de nuevo, algo así

regsvr32.exe "ruta del midas.dll"\midas.dll

Salud OS

  • 0

#3 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 22 noviembre 2011 - 08:27

Hola Marc,

A mi me pasó algo similar pero al instalar el Get AppWave, lo desinstalé y ya no tuve problemas.

Supongo que la librería se "des-registró" habrá que registrarlo de nuevo, algo así

regsvr32.exe "ruta del midas.dll"\midas.dll

Salud OS


Parece que no es el mismo caso. Eso ya lo he probado, copiando la librería de otro equipo (aunque es la misma versión), y volviendo a registrar.

Creo que no voy a tener más remedio que desinstalar Delphi 6, y 2010, y volver a instalarlos, junto a todos sus componentes :( :(.
  • 0

#4 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 22 noviembre 2011 - 11:15

Intenta removiendo del proyecto el o los módulos de datos que tengan relación con MIDAS.DLL, guardas los cambios, cierras Delphi, vuelves a abrir Delphi y luego vuelves a agregar los módulos al proyecto.

Te digo esto porque así he resuelto problemas con forms que no encuentran su ancestro en el proyecto, no se pierde nada con probar.

Saludos


  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 22 noviembre 2011 - 11:44

Lo ùltimo que se me ocurre es que verifiques que exista en el registro :(

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls

Salud OS

  • 0

#6 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 22 noviembre 2011 - 12:03

Intenta removiendo del proyecto el o los módulos de datos que tengan relación con MIDAS.DLL, guardas los cambios, cierras Delphi, vuelves a abrir Delphi y luego vuelves a agregar los módulos al proyecto.

Te digo esto porque así he resuelto problemas con forms que no encuentran su ancestro en el proyecto, no se pierde nada con probar.

Saludos


Gracias, en realidad el 99,99% de mis Units acaban usando el MIDAS.DLL, puesto que cualquier formulario o datamodule con ClientDatasets, utiliza esa librería.

Pero imagino que la librería la usan directamente las Units mismas de Delphi, relacionadas con el ClientDataset (DBClient.pas, ... etc).

Eso parece que es lo que se me estropeó al instalar la Trial de Delphi XE2.
  • 0

#7 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 22 noviembre 2011 - 12:12


Muchas gracias, parece que ya vuelve a funcionar correctamente.

Lo ùltimo que se me ocurre es que verifiques que exista en el registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls

Salud OS


No se me había ocurrido entrar en el registro (creo que ya había perdido la costumbre, no me gusta mucho trastear por allí, y me parece que en el año que vengo utilizando Windows 7, prácticamente nunca he entrado en su registro).

El caso, es que siguiendo tu sugerencia, he comprobado esa entrada, y estaba perfectamente y con la carpeta bien definida. Y ya puestos, he utilizado la opción de Buscar, para verificar que otras referencias habrá a esa librería.

Bingo, había múltiples referencias a la Midas.dll, en las secciones HKEY_CLASSES_ROT, HKEY_LOCAL_MACHINE/Software/Classes, etc. ... Pero en lugar de referenciar a C:\Windows\System32\Midas.dll, estaban referenciando a C:\Program Files\Embarcadero\RAD Studio\9.0\bin\midas.dll

Esa carpeta ya no existe, puesto que corresponde a la Trial de Delphi, que acabé desinstalando. Así que he corregido las referencias, hacia la carpeta de Sistema, y ahora todo parece funcionar correctamente.

Muchas gracias por tu sugerencia, me ha orientado muy bien al problema.

Moraleja : no instaléis una versión de Delphi de pruebas en vuestro equipo de desarrollo habitual (a saber que más se habrá estropeado, puesto que en el registro veo bastantes más referencias a RAD Studio\9.0).

Saludos.
  • 0

#8 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 22 noviembre 2011 - 12:14

Ah pues que bien, te has ahorrado la reinstalación de todos tus delphi y componentes :)

Salud OS
  • 0

#9 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 22 noviembre 2011 - 02:16

Me alegra que hayas solucionado, y tomaré atenta nota de la moraleja, puesto que muchas de mis aplicaciones  que usan bases de datos están desarrolladas con dbexpress y DataSnap.


Saludos.




PD: Quizás la instalación de Delphi sea breve ... pero de los componentesssssssssss..... si que es bien tediosa.
  • 0

#10 lezamablr

lezamablr

    Member

  • Miembros
  • PipPip
  • 25 mensajes

Escrito 22 noviembre 2011 - 04:50

Yo lo solucioné agregando el uses MidasLib, compila y debe correr bien en cualquier equipo.
  • 0

#11 axesys

axesys

    Advanced Member

  • Moderadores
  • PipPipPip
  • 640 mensajes
  • LocationLos Mochis

Escrito 22 noviembre 2011 - 07:13

Al igual que lezamablr, yo también agrego en el uses del archivo dpr la unit MidasLib y así ya no dependo de la midas.dll

Saludos
  • 0

#12 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 22 noviembre 2011 - 07:48

Yo lo solucioné agregando el uses MidasLib, compila y debe correr bien en cualquier equipo.

Al igual que lezamablr, yo también agrego en el uses del archivo dpr la unit MidasLib y así ya no dependo de la midas.dll

Saludos



Agregar dicha unit es lo frecuente y no da problemas en tiempo de ejecución, de hecho Marck no tenía problemas en tiempo de ejecución, los tenía en tiempo de diseño y imagínense lo duro de programar en esas circunstancias.


Saludos.
  • 0

#13 Nasca

Nasca

    Member

  • Miembros
  • PipPip
  • 13 mensajes

Escrito 18 julio 2013 - 02:29

Buenas, soy un lector del foro desde hace mucho tiempo.

Recién me encontré con este problema y a pesar de ser un hilo muy viejo añado una pequeña aportación para la peña que tenga mi mismo problema por distintas versiones de Delphi y por consiguiente de Midas.dll.

Una solución:
Desinstalar Midas.dll del registro: regsrv32.dll -u C:\Windows\system32\midas.dll ( dónde corresponda)

Mover esta librería al directorio dónde esté instalado la versión de Delphi a que corresponde.

Hacer lo propio con el midas.dll de las otras versiones de Delphi.

Al no encontrarlos como servicio lo buscará en el directorio de ejecución de la aplicación y parece que todo funciona correctamente.
  • 0




IP.Board spam blocked by CleanTalk.