Variables publicas

Variables publicas

Postby surGom » 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: Select all  Expand view  RUN
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
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Variables publicas

Postby Patricio Avalos Aguirre » 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
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Variables publicas

Postby xmanuel » Wed Jan 23, 2013 4: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
xmanuel
 
Posts: 762
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: Variables publicas

Postby surGom » Wed Jan 23, 2013 6: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
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Variables publicas

Postby surGom » Wed Jan 23, 2013 7: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: Select all  Expand view  RUN
#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
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Variables publicas

Postby sysctrl2 » Wed Jan 23, 2013 8:02 pm

en tu compilacion suprime /w

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

saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1022
Joined: Mon Feb 05, 2007 7:15 pm

Re: Variables publicas

Postby surGom » 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
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Re: Variables publicas

Postby Armando » 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
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Variables publicas

Postby surGom » Wed Jan 23, 2013 11:30 pm

Gracias Armando ahora sí y todos por sus respuestas

Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 89 guests