FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Variables publicas
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Variables publicas
Posted: Wed Jan 23, 2013 12:52 PM
Hola mi consulta es como declaro una variable pública para que cuando compilo, no me arroje el siguiente error


origen.prg(241) Warning W0001 Ambiguous reference: 'OAPP'
origen.prg(324) Warning W0001 Ambiguous reference: 'OAPP'
ETC,...
totsto1.PRG(18) Warning W0001 Ambiguous reference: 'OAPP'
ETC...

en el módulo principal lo declaro así

Code (fw): Select all Collapse
FUNCTION origen()
  LOCAL oBrush            // Almacena objeto BRUSH
  LOCAL oBar     // Almacena objeto BUTTONBAR
  LOCAL oCursorMano
  LOCAL oICON, surge
  LOCAL oBmp
  LOCAL oFont
  LOCAL cinit := GetWinDir()+"\mega.ini"
  LOCAL memo:= GetpvProfString("camino","curpath",,cinit)
  LOCAL nBut := array(6)
  LOCAL cPantalla := GetpvProfString("pantalla","tipopan",,(GetWinDir()+"\mega.ini"))
  LOCAL cUsuario := (GetpvProfString("usuario","nombre",,(GetWinDir()+"\mega.ini")))



  public oApp := TApplication()



Gracias
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 12:58 PM
Hola

puedes hacerlo de dos manera
al principio del modulo colocar

MEMVAR VariablePublica


lo otro que puedes hacer, es la que yo utilizo es anteponer un M->

M->variablePublica


espero que te sirva
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 817
Joined: Sun Jun 15, 2008 07:47 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 04:23 PM

Yo personalmente odio las variables públicas y privadas...

Para las privadas se usa una local y ya está...

Para las publicas yo suelo usar una static global o sea declarada al principio fuera de las funcones.
En tu caso podría ser algo así:

static oApp   //<--------------------------------- Aqui la defino

FUNCTION origen()

...
oApp := TApplication() // <---------------------------- Aquí la inicializo
...
return

Con eso sería visible para todo tu prg :D

______________________________________________________________________________

Sevilla - Andalucía
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 06:33 PM

Manuel ya probé con static y global, con static no reconoce en las otras funciones del programa la variable, y con global hace exactamente lo mismo

Luis

Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 07:57 PM
Manuel lo hice como me recomendas y el módulo principal no me muestra el error pero en todos los demás que hago referencia a la variable sigue de la misma manera

Code (fw): Select all Collapse
#include "FIVEWIN.CH"


STATIC oVentPrinc, oBmp
MEMVAR oApp


//------------------------------------------------------------//

FUNCTION origen()
  LOCAL oBrush            // Almacena objeto BRUSH
  LOCAL oBar     // Almacena objeto BUTTONBAR
  LOCAL oCursorMano
  LOCAL oICON, surge
  LOCAL oBmp
  LOCAL oFont
  LOCAL cinit := GetWinDir()+"\mega.ini"
  LOCAL memo:= GetpvProfString("camino","curpath",,cinit)
  LOCAL nBut := array(6)
  LOCAL cPantalla := GetpvProfString("pantalla","tipopan",,(GetWinDir()+"\mega.ini"))
  LOCAL cUsuario := (GetpvProfString("usuario","nombre",,(GetWinDir()+"\mega.ini")))




 oApp := TApplication()


  SETEO()                 //DOY PARAMETROS DE CLIPPER


Luis
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 08:02 PM

en tu compilacion suprime /w

$(HBDIR)\bin\harbour $< /N /m /w

saludos.

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 10:17 PM

Sí así lo hago cuando compilo con verce, pero baje el xedit y deje la configuración standard y saltan los errores, me sirvio para algunas variables que tenía sin declarar, y pensé que se podía arreglar lo de esta variable.

Luis

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 10:23 PM

Luis:

Haz lo mismo para todos los PRGs, agrega la linea MEMVAR oApp al principio

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Variables publicas
Posted: Wed Jan 23, 2013 11:30 PM

Gracias Armando ahora sí y todos por sus respuestas

Luis

Continue the discussion