Antonio, supongo que has de ser el único que ha de tener la solución adecuada al problema.
Tengo una ventana MDI con una o mas ventanas MDICHILD y trato de generar un diálogo (por si ayuda de algo al diálogo le envío NIL como ventana y es NOMODAL) en el cual indico a los controles la clausula ADJUST, al crear el diálogo aparece el siguiente error:
Application
===========
Path and name: D:\quiquesoft\ide\qsVisual.exe (32 bits)
Size: 2,202,624 bytes
Time from start: 0 hours 0 mins 9 secs
Error occurred at: 06/16/08, 02:20:22
Error description: Error FiveWin/6 Cannot create window or control:
Class: TWINDOW
Caption:
System Error: No se puede crear una ventana secundaria de primer nivel.
Stack Calls
===========
Called from: WINDOW.PRG => WNDCREATEERROR(0)
Called from: WINDOW.PRG => TWINDOW:CREATE(0)
Called from: WINDOW.PRG => TWINDOW:NEW(0)
Called from: CONTROL.PRG => TSAY:CHECKDOTS(0)
Called from: SAY.PRG => TSAY:NEW(0)
Called from: => HB_EXECFROMARRAY(0)
Called from: D:\quiquesoft\ide\prg\ventana.prg => VENTANA:OBJNEW(138)
Called from: D:\quiquesoft\ide\prg\ventana.prg => VENTANA:VERVENTANA(343)
Called from: D:\quiquesoft\ide\prg\ventana.prg => VENTANA:NEW(45)
Called from: D:\quiquesoft\ide\prg\editor.prg => EDITOR:VERVENTANA(820)
Solucioné el problema del error modificando el método checkDots de la clase tControl cambiando las líneas
DEFINE WINDOW oDot1 OF oWndParent;
STYLE nOr( WS_CHILD, WS_CLIPSIBLINGS );
FROM 0, 0 TO 2, 2 PIXEL ;
COLOR "N/N" ;
CURSOR oSizeNWSE
por
@0,0 say oDot1 prompt "" of oWndParent size 3, 3 pixel COLOR "N/N"
oDot1:oCursor := oSizeNWSE
oDot1:lWantClick := .t.
pero aunque ya no aparece el error aparece un punto en la esquina superior izquierda del diálogo y funciona como si fuera la esquina superior izquierda del control,
¿como puedo solucionar cualquiera de los dos problemas? de hecho, preferiría, de ser posible, seguir utilizando ventanas en lugar de los say que metí, porque estos me pegan en otras partes al formar parte de los controles del diálogo. Si abro una ventana no tengo ningun problema con ninguna de las dos opciones.
Si quieres ver el efecto que te comento del punto en el diálogo, puedes bajar el archivo
ftp://ftp.quiquesoft.com/qsvisual.zip
1. Ejecutas el exe
2. abres test4.prg
3. seleccionas el menú Ventanas\Ventana del código actual
si abres cualquiera de los otros 3 tests veras que no aparece el punto