| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
-Spencer- Capt

Registrado: 03 Mar 2003Mensajes: 160Ubicación: Armenia - Colombia
|
Publicado: Jue 07 Abr, 2005 5:14 am Asunto: try |
|
|
hola
como hago para manejar con un mismo try, un catch y un __finally.
porque cuando uso los dos me da un mensaje de error.
Gracias _________________ "Cállate, o di algo mejor que el silencio" |
|
| Volver arriba |
|
 |
Fernando Diaz Master


Registrado: 18 Jul 2004Mensajes: 273Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Jue 07 Abr, 2005 9:46 am Asunto: |
|
|
Si haces un
AnsiString x="hola";
try
{
x.ToInt();
}
catch(...)
{
ShowMessage("ERROR");
}
eso si tienes el debug (ejecutandolo desde builder) te para la ejecucion, pero si lo abres desde el exe, te muestra un mensaje que pone...ERROR _________________ Los problemas mas dificiles tienen las soluciones mas sencillas
 |
|
| Volver arriba |
|
 |
Andrés Lt JG


Registrado: 30 Ago 2002Mensajes: 62Ubicación: Ramos Mejía
|
Publicado: Jue 07 Abr, 2005 8:00 pm Asunto: |
|
|
Mmh... no sé si quizás se refiere a eso.
Cada try puede ir sólo con un catch o un finally, no con ambos.
Si quieres tener catch y finally, tienes que hacer 2 try. _________________ "Todo es posible si Ud. no sabe de qué está hablando" |
|
| Volver arriba |
|
 |
-Spencer- Capt

Registrado: 03 Mar 2003Mensajes: 160Ubicación: Armenia - Colombia
|
Publicado: Vie 08 Abr, 2005 11:31 pm Asunto: |
|
|
Hola
Este es el codigo del try, sobre el cual tengo la duda
void __fastcall TForm2::FormCreate(TObject *Sender)
{
...
Graphics::TBitmap* pScaleBitmap = new Graphics::TBitmap();
pScaleBitmap->PixelFormat = pf8bit;
pScaleBitmap->HandleType = bmDIB;
pScaleBitmap->Width = 20;
pScaleBitmap->Height = 256;
LOGPALETTE* pal = NULL;
try
{
pal = (LOGPALETTE*) malloc( sizeof(LOGPALETTE) + sizeof(PALETTEENTRY) * 256);
pal->palVersion = 0x300;
pal->palNumEntries = 256;
for(short i = 0 ; i < 256 ; i++)
{
pal->palPalEntry[i].peRed = (Byte)i;
pal->palPalEntry[i].peGreen = pal->palPalEntry[i].peRed;
pal->palPalEntry[i].peBlue = pal->palPalEntry[i].peRed;
}
HPALETTE hpal = CreatePalette(pal);
if(hpal)
{
pScaleBitmap->Palette = hpal;
GetDIBColorTable(pScaleBitmap->Canvas->Handle, 0, 256,
OldPalette);
}
}
}
__finally
{
free(pal);
}
...
}
Lo que quiero hacer es que cuando haga el llamado de la funcion MALLOC, si
no hay memoria disponible que me muestre un mensaje indicando que no hay
memoria, pero que no continue con la carga o ejecucion del resto de codigo.
Espero haberme hecho comprender.
Gracias _________________ "Cállate, o di algo mejor que el silencio" |
|
| Volver arriba |
|
 |
nuno Cmdr

Registrado: 10 Feb 2003Mensajes: 143Ubicación: Córdoba - Argentina
|
Publicado: Dom 10 Abr, 2005 2:46 am Asunto: |
|
|
prueba con la instruccion return; _________________ Siempre hay que tratar de ser el mejor, pero nunca creerse el mejor (Juan Manuel Fangio) |
|
| Volver arriba |
|
 |
|