Estoy intentando abrir un diálogo con sólo un browse de una columna.
En mi RC:
LOOKUP1 DIALOG DISCARDABLE 43, 27, 91, 76 STYLE WS_POPUP|DS_MODALFRAME|WS_SYSMENU|WS_VISIBLE
FONT 8, "System"
BEGIN
CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 44, 0, 45, 15
CONTROL "", 4001, "ListBox", WS_VSCROLL | WS_BORDER | WS_TABSTOP, 0, 16, 88, 52
END
Mi Programa:
//─────────────────────────────────────
STATIC FUNCTION LookUp()
LOCAL oDlg, oLbx
DEFINE DIALOG oDlg RESOURCE "LOOKUP1"
REDEFINE LISTBOX oLbx ID 4001;
ALIAS AFAB ;
FIELDS AFAB->NOMBRE ;
HEADERS "Nombre" ;
SIZES 100
ACTIVATE DIALOG oDlg
RETURN NIL
Lo he probado de mil maneras y siempre me da error al compilar:
a1.prg(222) Error E0022 Invalid lvalue: 'Numeric' - La linea 222 es el REDEFINE
Por favor, alguien me puede decir qué estoy haciendo mal? Mejor con un ejemplo. Gracias
Rafael
[/url]
Cómo definir un Browse desde recursos
- Rafael Clemente
- Posts: 365
- Joined: Sat Oct 08, 2005 7:59 pm
- Location: Barcelona, Spain
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Rafael Clemente
- Posts: 365
- Joined: Sat Oct 08, 2005 7:59 pm
- Location: Barcelona, Spain
No: Al compilar sigue dando este error:
a1.prg(222) Error E0022 Invalid lvalue: 'Numeric'
222 es la línea del REDEFINE. Esroy utilizando la última versión de FWPPC, recién descargada anteayer.
De la única manera que consigo compilar es :
REDEFINE LISTBOX oLbx ID 4001 OF oDlg y nada más.
Pero esto, claro, me da error al ejecutar (oLbx es NIL)
Rafael
Antonio: Yo utilizo Pelles C para crear mis .RC ¿Hay algún otro programa que permita generar archivos más compatibles con FWPPC, sin tener que retocar tanto a mano el RC?
a1.prg(222) Error E0022 Invalid lvalue: 'Numeric'
222 es la línea del REDEFINE. Esroy utilizando la última versión de FWPPC, recién descargada anteayer.
De la única manera que consigo compilar es :
REDEFINE LISTBOX oLbx ID 4001 OF oDlg y nada más.
Pero esto, claro, me da error al ejecutar (oLbx es NIL)
Rafael
Antonio: Yo utilizo Pelles C para crear mis .RC ¿Hay algún otro programa que permita generar archivos más compatibles con FWPPC, sin tener que retocar tanto a mano el RC?
- Rafael Clemente
- Posts: 365
- Joined: Sat Oct 08, 2005 7:59 pm
- Location: Barcelona, Spain
Antonio:
EMpiezo a creen que el REDEFINE LISTBOX en diálogos no funciona. Sencillamente, da error y ni siquiera compila. Lo mejor que he conseguido es esto:
oLbx := TWBrowse():Redefine(4001,{|| {customer->first} }, oDlg,;
{"Nombre"},;
{200}, , , , , {|nRow,nCol,nFlags|MiFuncion()},;
, oFont , , , , , , "Customer", , , , )
que por lo menos se ve en su diálogo pero da error "ARGUMENT ERROR .TOT." en cuanto haces click en cualquier registro. Adjunto código completo de la prueba, a ver si puedes darme alguna idea de como solucionarlo:
EMpiezo a creen que el REDEFINE LISTBOX en diálogos no funciona. Sencillamente, da error y ni siquiera compila. Lo mejor que he conseguido es esto:
oLbx := TWBrowse():Redefine(4001,{|| {customer->first} }, oDlg,;
{"Nombre"},;
{200}, , , , , {|nRow,nCol,nFlags|MiFuncion()},;
, oFont , , , , , , "Customer", , , , )
que por lo menos se ve en su diálogo pero da error "ARGUMENT ERROR .TOT." en cuanto haces click en cualquier registro. Adjunto código completo de la prueba, a ver si puedes darme alguna idea de como solucionarlo:
Code: Select all
#include "FWCE.ch"
#include "WinApi.ch"
//----------------------------------------------------------------------------/
FUNCTION Main()
LOCAL oWnd, oDlg, oLbx
USE (CurDir()+"\Customer") NEW // La DBF de \SAMPLES
DEFINE WINDOW oWnd TITLE "Test"
ACTIVATE WINDOW oWnd ON INIT AbrirDlg()
RETURN NIL
STATIC FUNCTION AbrirDlg()
DEFINE DIALOG oDlg RESOURCE "LOOKUP1"
DEFINE FONT oFont NAME "Arial" SIZE 0, -12
oLbx := TWBrowse():Redefine(4001,{|| {customer->first} }, oDlg,;
{"Nombre"},;
{200}, , , , , {|nRow,nCol,nFlags|MiFuncion()},;
, oFont , , , , , , "Customer", , , , )
ACTIVATE DIALOG oDlg
RETURN NIL
FUNCTION MiFuncion()
MsgInfo("Hola")
RETURN NIL
// -----------------------------------------------------------------------
El fichero .RC:
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
LANGUAGE LANG_SPANISH,SUBLANG_SPANISH_MODERN
LOOKUP1 DIALOG DISCARDABLE 43, 27, 91, 76
STYLE WS_POPUP|DS_MODALFRAME|WS_SYSMENU|WS_VISIBLE
FONT 8, "System"
BEGIN
CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 0, 0, 45, 15
CONTROL "", 4001, "TWBrowse", WS_VSCROLL|WS_BORDER|WS_TABSTOP, 0, 16, 88, 52
END
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Rafael,
Tu ejemplo ha funcionado a la primera. Lo único que tienes que quitar es esta línea del RC:
#include <richedit.h>
ya que no existe, y entonces el RC no se compila.
De todas formas, una vez se visualiza, al hacer click en una línea del browse da un error. Vamos a ver de que se trata.
Tu ejemplo ha funcionado a la primera. Lo único que tienes que quitar es esta línea del RC:
#include <richedit.h>
ya que no existe, y entonces el RC no se compila.
De todas formas, una vez se visualiza, al hacer click en una línea del browse da un error. Vamos a ver de que se trata.
Last edited by Antonio Linares on Wed Dec 14, 2005 11:09 am, edited 1 time in total.
- Rafael Clemente
- Posts: 365
- Joined: Sat Oct 08, 2005 7:59 pm
- Location: Barcelona, Spain
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Rafael Clemente
- Posts: 365
- Joined: Sat Oct 08, 2005 7:59 pm
- Location: Barcelona, Spain
Funciona!
Antonio: La nueva versión de FWPPC funciona perfectamente!
Respecto a lo del REDEFINE LISTBOX, acabo de descubrir que es dependiente del orden de los parámetros:
Este funciona bien:
REDEFINE LISTBOX oLbx FIELDS AFAB->NOMBRE ALIAS "AFAB" ID 4001 OF oDlg ON DBLCLICK MiFuncion()
Pero este da Error E0022 Invalid lvalue: 'String' al compilar:
REDEFINE LISTBOX oLbx ID 4001 OF oDlg ALIAS "AFAB" FIELDS AFAB->NOMBRE
Gracias!
Rafael
Respecto a lo del REDEFINE LISTBOX, acabo de descubrir que es dependiente del orden de los parámetros:
Este funciona bien:
REDEFINE LISTBOX oLbx FIELDS AFAB->NOMBRE ALIAS "AFAB" ID 4001 OF oDlg ON DBLCLICK MiFuncion()
Pero este da Error E0022 Invalid lvalue: 'String' al compilar:
REDEFINE LISTBOX oLbx ID 4001 OF oDlg ALIAS "AFAB" FIELDS AFAB->NOMBRE
Gracias!
Rafael