PDA

Ver la Versión Completa : EOutOfResources 'Espacio insuficiente....


mrnovice
09-04-2008, 17:34:23
Disculpen muy buen día, quería saber si alguien me pudiera brindar un apoyo me resulto este problema y ya no puedo ejecutar la aplicación. Resultase que estou suando un VCL llamado DelphiTwain sí?, todo funcionaba bien hasta que le agregue un VCL jvThumbView ok, pués al principio funcionó pero a la segunda corrida ya no me quizo funcionar, me aparece este mensaje de error cada vez que lo intento correr.
=================================================================================================
<Debugger Exception Notification>
<Project Example.exe raised exception class EOutOfResources with message 'Espacio de almacenamiento insuficiente para procesar este comando',Process stopperd. Use step or run to continue>
=================================================================================================
y lo trato de "debuguear'', el error en teoria seria en esta sección


constructor TFormMain.Create(AOwner: TComponent);
begin
{Call inherited}
inherited Create(AOwner);
{Create object}
ImageList := TList.Create;<--Aquí me marca el error
{Avoid flickering by using double-buffering}
ContainImage.DoubleBuffered := TRUE;
ToolBar.DoubleBuffered := TRUE;
{Select first source}
TransferMode := ttmMemory;
CurrentSource := -1;
LoadedSource := CurrentSource;
end;

No sé si alguien le haya pasado lo mismo, por favor les ruego una manita, Investigue y según entiendo pasa con gráficos y no puede llenar una petición de locación de Windows, alguna tutpria por allí, ideas,alguien que haya pasado por una experiencia similar? les agradezco su apoyo de antemano y tengan un buen día.
Ahorita le estuve moviendo. Al parecer tiene que ver con el JvThumbview, ya que al quitarlo o quitarle el directorio donde tengo imágenes vuelve a funcionar mmm e intento las excepciones pero no me funciona :(

procedure TFormMain.FormCreate(Sender: TObject);
begin
try
JvThumbview1.Directory:='C:\ImgTemp';
except
on EOutOfResources do
begin
showmessage('???');
end;
end;

quite una imagen tambén y volvió a correr luego copie las imágenes que estan b ien como unas 10 veces y me volvió a aparecer el problema, alguien sabe como tratar este problema?
===========================================================================================
En teoria es jVThumbview lo que ocasiona esto, alguien sabe donde encuentro los*.pas que involucran a este? es de JEDI DSL installer o alguien que me lo pudiera proporcionar igual soy como el burro que toco la flauta jejeje.
o algún componente que maneje thumb views como grid? pero con muchas imagenes de pixeles grandes? asi como el explorador de windows?
===============================================================================================
por cierto en una de esas me aparecio Floating point division by zero creo que solo cuando use el JvThumbView creoo u_U.
===============================================================================================
Conclusión creo este error solo viene del JThumbView lo acabo de probar por si solo sin el programa y me aparece el error nota:Aún no lo resuelvo.

andres1569
09-04-2008, 21:10:19
Hola,

aunque no he utilizado nunca ese componente, ese error es propio de, o bien exceder el número de Bitmaps que se requieren al GDI (según el SO hay un tope), o bien que se está creando un Bitmap de dimensiones demasiado grandes. Lo normal es que un componente que trata de gestionar Thumbnails almacene todas las imágenes de forma consecutiva en un sólo Bitmap (parecido a como lo hace un TImageList), crear un Bitmap por cada imagen sería una animalada. Por lo cual creo que el error es del tamaño que reserva para ese macro-bitmap donde dibuja en pequeño cada imagen.

Aunque no lo he comprobado, creo el tamaño máximo de un TBitmap también tiene unos topes diferentes según el SO, puede que el componente lo hayan programado bajo un sistema más reciente que el que tu utilizas, así que te aconsejo compilar el programa y probarlo en XP o en Vista, por ejemplo, a ver si van por ahí los tiros. De todas formas ese error deberían subsanarlo los programadores de las jvcl.

Un saludo

Northern
09-04-2008, 21:16:52
Yo hace tiempo tuve un problema similar de "recursos insuficientes" cuando intentaba leer más de 480 imáganes (iconos, bitmaps) usando Windows 98.

Parece ser que Windows 98 tenía un límite tanto para leer imágenes como para leer texto con el notepad (como para otras cosas) aunque tuvieses memoria (RAM) suficiente.

Con Windows XP no he tenido nunca ese tipo de problemas.


Saludos

mrnovice
09-04-2008, 21:42:23
Hola,

aunque no he utilizado nunca ese componente, ese error es propio de, o bien exceder el número de Bitmaps que se requieren al GDI (según el SO hay un tope), o bien que se está creando un Bitmap de dimensiones demasiado grandes. Lo normal es que un componente que trata de gestionar Thumbnails almacene todas las imágenes de forma consecutiva en un sólo Bitmap (parecido a como lo hace un TImageList), crear un Bitmap por cada imagen sería una animalada. Por lo cual creo que el error es del tamaño que reserva para ese macro-bitmap donde dibuja en pequeño cada imagen.

Aunque no lo he comprobado, creo el tamaño máximo de un TBitmap también tiene unos topes diferentes según el SO, puede que el componente lo hayan programado bajo un sistema más reciente que el que tu utilizas, así que te aconsejo compilar el programa y probarlo en XP o en Vista, por ejemplo, a ver si van por ahí los tiros. De todas formas ese error deberían subsanarlo los programadores de las jvcl.

Un saludo

Yo hace tiempo tuve un problema similar de "recursos insuficientes" cuando intentaba leer más de 480 imáganes (iconos, bitmaps) usando Windows 98.

Parece ser que Windows 98 tenía un límite tanto para leer imágenes como para leer texto con el notepad (como para otras cosas) aunque tuvieses memoria (RAM) suficiente.

Con Windows XP no he tenido nunca ese tipo de problemas.


Saludos

Saludos gracias por el apoyo, si por lo que he estado observando es verdad acerca de los límites del SO, existe alguna forma de modificar para que permita el macrobitmap? ¿Tutoria?, también es verdad mi problema pasa porque tengo muchas imágenes(cerca de 25) en un directorio con dimensiones de 2000 x 3000 jpg's, el problema se reduce a esto El JVThumbview es limitado ya sea por el .pas que no le dice al SO un tope alto sino me equivoco verdad?entonces cómo podría hacerle para que funcione cómo algunos programas ómo el PaperPort o las vista miniaturas de Windows?, Ahorita que salga voy a probarlo el windows vista esperemos que tengamos éxito :) mmmm gracias por todo disculpen mi léxico ya me hize bolas juaas.
Lo olvidaba el Sistema Operativo que uso es Windows XP SP2 en teoria no deberia tener problemas, lo malo al respecto de encargarselos a los creadores de jvcl, es que esto no puede esperar :( rayoss!!!! saludos otra vez.

mrnovice
11-04-2008, 17:23:55
He intentado corregirlo, he preguntado en los foros y me recomendaron un tercer componente que me ayude a validar la imagen, además ya queda claro que hay una limitante por parte de Delphi y tal vez el component para cantidades de imágenes grandes y en cantidad, el problema lo simplifique
simplemente lo quiero agregar una por una al jvthumbview pero al agregar a la 5 me truena alguna sugerencia?
Gracias saludos y buen día


procedure TForm1.Button1Click(Sender: TObject);
var
img:TImageData;
begin
If OpenPictureDialog1.Execute then
Begin
Imaging.InitImage(Img);
Imaging.LoadImageFromFile(OpenPictureDialog1.FileName,img);
if TestImage(Img) then
begin
//es verdero
jvthumbview1.AddFromFile(OpenPictureDialog1.FileName);
FreeImage(Img);
end;
End;
end;