× Linguagem de Programação ADVPL

Perguntas variable not object

Mais
11 anos 11 meses atrás #8830 por de019
variable not object foi criado por de019
Pessoal, preciso de ajuda...

Tipow... montei a caixa de dialogo... deixei o oDlg como Private... pra nao ter este problema.. mas mesmo assim surge este erro... acho q deve ser algo muito inultil q nao estou vendo e esta me travando aqui... alquem pode me passar os erros comuns q pode causar este erro???


muito obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás #8836 por kanaamlrr
Respondido por kanaamlrr no tópico Re: variable not object
Coloca seu código ai para podermos procurar o problema.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás #8842 por de019
Respondido por de019 no tópico Re: variable not object
Vixi cara... sao 800 linhas de codigo... e aqui eh uma fabrica... nao tem usb e nem cd muito menos net... male ma conseguiria passar o arquivo para o template e enviar para mim por email se o coordenador de Ti estivesse aqui e ele nao esta :side: ...

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 11 meses atrás #8843 por kanaamlrr
Respondido por kanaamlrr no tópico Re: variable not object
Não tem nem como colocar o trecho onde é instanciado o dlg e o ponto onde dá erro?
acho que isso não dá mais que 10 linhas

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16571 por fredd
Respondido por fredd no tópico Re: variable not object
Cara me ajuda estou com esse erro também , se eu entrar no protheus e ir direto na minha tela customizada ele da esse erro , mas se eu entrar em uma rotina e depois entrar na minha tela customizada ela não da erro... o que pode ser amigo??? segue emu código


________________________________________
User function CADESTSEG()



Local cTgetProd := Space(TamSX3("B1_COD")[1]) //Get do Produto
Local cTgetEstSeg := Space(TamSX3("B1_ESTSEG")[1]) //Get Estoque de Segurança
Local cTgetDescri := Space(15) //Get que exibe a Descrição
Local cDescri := ""
Local cTit := "Cadastro de Estoque de Segurança"

Private oMainWnd
Private oDlg
Private oBrowse
Private oTFontTit := TFont():New('Arial',,14,,.T.,,,,,,.F.,.F.) //Fonte do título da janela
Private oTFontTab := TFont():New('Arial',,13,,.F.,,,,,,.F.,.F.) //Fonte do título da janela
Private aDescri:={ }// Vetor que eu Armazeno os Dados para colocar no Browse



Define MsDialog oDlg From 000, 000 To 350, 300 Title cTit Of oMainWnd Pixel

//GET
oTGetProd := TGet():New(035,010,{|u| If(PCount() > 0, cTgetProd := u, cTgetProd )},oDlg,060,009,"@!", {||IIF(!Empty(cTGetProd),.T.,.F.),cTGetDescri:=u_fBuscadescri(cTgetProd)},0,,,.F.,,.T.,,.T.,,.F.,.F.,{||oTGetDescri:REfresh()},.F.,.F.,,cTgetProd,,,,.F.)/*ExistChav("SB1", xFilial("SB1")+cTgetProd)*/
oTGetEstSeg := TGet():New(035,085,{|u| If(PCount() > 0, cTgetEstSeg := u, cTgetEstSeg)},oDlg,060,009,"@E 999999",{||IIF((EMPTY(cTgetEstSeg) .And. !EMPTY(cTGetProd)),.F.,.T.)},0,,,.F.,,.T.,,.T.,,.F.,.F.,,.F.,.F.,,cTgetEstSeg,,,,.F.)
oTGetDescri := TGet():New(055,040,{|u| If(PCount() > 0, cTgetDescri := u, cTgetDescri)},oDlg,105,009,"@!", {||IIF(!EMPTY(cTgetDescri),.T.,.F.)},0,,,.F.,,.T.,,.F.,,.F.,.F.,,.T.,.F.,,cTgetDescri)
//SAY
oSayProd := TSay():Create(oDlg,{||'Cód.Produto'},025,010,,,,,,.T.,,,200,20)
oSayEstSeg := TSay():Create(oDlg,{||'Est.Segurança'},025,085,,,,,,.T.,,,200,20)
oSayTit := TSay():Create(oDlg,{||'Registro de Estoque de Segurança'},010,023,,oTFontTit,,,,.T.,,,200,20)//oTFontTit
oSayDescri := TSay():Create(oDlg,{||'Descrição:'},057,010,,,,,,.T.,,,200,20)
oSayJaCad := TSay():Create(oDlg,{||'Estoques Cadastrados Nesta Rotina:'},075,010,,,,,,.T.,,,200,20)
oSayJaTab := TSay():Create(oDlg,{||'Utilize a Tecla TAB '},158,010,,oTFontTab,,,,.T.,,,50,20)
oSayJaTab := TSay():Create(oDlg,{||'para ativar os campos '},164,010,,oTFontTab,,,,.T.,,,70,40)


//Browse
oBrowse := TCBrowse():New( 85,10, 135,70,,{'Produto','Descrição',"Quant.Seg."},{47,65,35},oDlg,,,,,{||},,,,,,,.F.,,.T.,,.F.,,, )

aAdd(aDescri,{alltrim(cTgetProd),SUBSTR(alltrim(cTgetDescri),1,10),cTgetEstSeg})
oBrowse:SetArray(aDescri)
oBrowse:AddColumn(TCColumn():New("Produto" ,{|| aDescri[oBrowse:nAt,01]},,,,"LEFT",,.F.,.F.,,,,.F.,))
oBrowse:AddColumn(TCColumn():New("Descrição" ,{|| aDescri[oBrowse:nAt,02]},,,,"LEFT",,.F.,.F.,,,,.F.,))
oBrowse:AddColumn(TCColumn():New("Quantidade Seg." ,{|| aDescri[oBrowse:nAt,03]},,,,"LEFT",,.F.,.F.,,,,.F.,))
oBrowse:bLine := {||{aDescri[oBrowse:nAt,01],aDescri[oBrowse:nAt,02], aDescri[oBrowse:nAt,03]} }
oBrowse:Refresh()
//Botão e-mail
oTBtncanc := TButton():Create( oDlg,160,71,"E-mail",{||IIF(MSGBOX('Confirma Envio de E-mail com os produtos alterados?','Envio de e-mail','YESNO'),u_fEnviaEstseg(aDescri),.F.)}, 20,10,,,,.T.,,,,,,)
//fEnviaEstseg(aArray)

//Botão de OK
//
oTBtnOK := TButton():Create( oDlg,160,93,"Gravar",;
/*Bloco de códigos */ {||IIF(!EMPTY(cTgetEstSeg).AND.!EMPTY(cTgetProd) ;
/*Função de Gravação no banco*/,u_fCadEstSeg(cTgetProd,cTgetEstSeg),.F.);
/*Adiciona variaveis no vetor para o Browse*/,;
/*Seleciona o array para Carregar a browse*/,/*oBrowse:SetArray(aDescri)*/;
/*Refresh no browse para carregar os dados */,/*oBrowse:refresh() */ ;
/*Carrega o browse*/, ;
/*Zera variaveis */,cTGetEstSeg:=Space(10),cTGetProd:=Space(TamSX3("B1_COD")[1]),cTGetDescri:=Space(TamSX3("B1_DESC")[1]) ;
/*Refresh nos objetos gets*/,oBrowse:Refresh(),oTGetEstseg:Refresh(),oTGetProd:Refresh(),oTGetDescri:Refresh()}, 20,10,,,,.T.,,,,,,)

//Botão de Cancelar
//
oTBtncanc := TButton():Create( oDlg,160,115,"Cancelar",{||oDlg:End()}, 30,10,,,,.T.,,,,,,)

Activate Dialog oDlg Center

Return


//@@@@@@@@@@@@@@@@@//@@@@@@@@@@@@@@@@@@@
// Funções Executadas na Tela @@
//@@@@@@@@@@@@@@@@@//@@@@@@@@@@@@@@@@@@@

//Traz a Descrição
User Function fBuscaDescri(cCod)

Local cCod
Local cRet:=''
Local aArea := GetArea()
DBSelectArea("SB1")
DbSetOrder(1)

IF DBSEEK(xFilial('SB1')+cCod)
cRet:= SB1->B1_DESC
Else
Alert('Produto não Encontrado')
EndIF

RestArea(aArea)
Return(cRet)

//Realiza Gravação
User Function fCadEstSeg(cProd,nEstSeg)

Local cProd
Local nEstSeg
Local cChave
Local lResp := .T.
Local aArea := GetArea()

DbSelectArea('SB1')
DbSetOrder(1)

cChave := xFilial('SB1')+cProd

IF DbSeek(cChave)

aAdd(aDescri,{alltrim(cProd),SUBSTR(alltrim(B1_DESC),1,20),nEstSeg})
RECLOCK('SB1',.F.)
SB1->B1_ESTSEG := VAL(nEstSeg)
SB1->(MSUNLOCK())
MSGINFO("Produto:"+SUBSTR(B1_DESC,1,10)+" Alterado",'Sucesso')
Else
lResp:=.F.
Msgbox ("Erro nos dados Digitados" ,'Falha na Gravação', 'STOP' )
EndIF
RestArea(aArea)
Return(lResp)

User Function fEnviaEstseg(aArray)

Local aArray
Local cRecebe := 'Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.'

IF LEN(aDescri) > 0

cHtml:= ' <html> '
cHtml+= ' <head>'
cHtml+= ' <title>Vizcaya Cosméticos</title>'
cHtml+= ' </head> '
cHtml+= ' <body> '
cHtml+= ' <div> '
cHtml+= ' <table border="0" cellpadding="1" cellspacing="1" style="width: 850px;">'
cHtml+= ' <tbody>'
cHtml+= ' <tr>'
cHtml+= ' <td colspan="6" style="height: 3px;">'
cHtml+= ' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</td>'
cHtml+= ' </tr>'
cHtml+= ' <tr>'
cHtml+= ' <td dir="rtl" style="text-align: center;">'
cHtml+= ' <img alt="" src=" 2.bp.blogspot.com/-1OgM_NifoNw/TzVDIqzve...3%A9ticos+300dpi.jpg " style="width: 90px; height: 37px;" /></td>'
cHtml+= ' <td colspan="5" rowspan="1" style="background-color: rgb(153, 255, 153); text-align: center;">'
cHtml+= ' '+DTOC(dDatabase)+' Vizcaya - MRA Com&eacute;rcio de Cosm&eacute;ticos Cosm&eacute;ticos - ES</td>'
cHtml+= ' </tr>'
cHtml+= ' <tr>'
cHtml+= ' <td colspan="6" style="background-color: rgb(51, 204, 204); text-align: center;">'
cHtml+= ' <font face="verdana, geneva, sans-serif"><span style="font-size: 14px;">Lista de Produtos com Quantidade de estoque de Segurança Alterado</span></font></td>'
cHtml+= ' </tr>'
cHtml+= ' <tr>'
cHtml+= ' <td style="background-color: rgb(153, 255, 153);">'
cHtml+= ' <span style="font-size:14px;"><span style="font-family:verdana,geneva,sans-serif;">C&oacute;digo</span></span></td>'
cHtml+= ' <td style="background-color: rgb(153, 255, 153);">'
cHtml+= ' <span style="font-size:14px;"><span style="font-family:verdana,geneva,sans-serif;">Descricao</span></span></td>'
cHtml+= ' <td style="background-color: rgb(153, 255, 153);">'
cHtml+= ' <span style="font-size:14px;"><span style="font-family:verdana,geneva,sans-serif;">Quantidade Cadastrada</span></span></td>'
cHtml+= '
cHtml+= ' </tr>'


For n:=1 To LEN(aDescri)
cHtml+= ' <tr>'
cHtml+= ' <td>'+aDescri[n][1]+'</td>'
cHtml+= ' <td>'+aDescri[n][2]+'</td>'
cHtml+= ' <td>'+aDescri[n][3]+'</td>'
cHtml+= '
cHtml+= ' </tr>'
Next

cHtml+= ' </tbody>'
cHtml+= ' </table> '
cHtml+= ' <p style="text-align: center;">'
cHtml+= ' &nbsp;</p>'
cHtml+= ' </div>'
cHtml+= ' <p>'
cHtml+= ' <object height="0" id="0a191a59-a878-93bc-2a28-6b973bba889d" type="application/gas-events-abn" width="0"></object></p>'
cHtml+= ' </body>'
cHtml+= ' </html>'

memowrite('c:/cHTML.HTML',cHTML)
Connect Smtp Server GETMV("MV_RELSERV") account GETMV("MV_RELACNT") password GETMV("MV_RELPSW")
Send Mail From GETMV("MV_RELACNT") To cRecebe subject "Produtos com estoque de Segurança Alterado" body cHtml
MSGINFO('E-mail enviado','Sucesso')
EndIF

Return

Error

THREAD ERROR (frederico.bezerra, NOTEBOOKTI3) 22/08/2013 12:14:56
variable is not an object on {|X,Y| &("OMAINWND:SETTEXT('"+ I18N("TOTVS SéRIE #2 #1 (MICROSIGA) #3",{FWGETSEGMENTO(),FWGETSERIE(),IIF(!EMPTY(Y),SUBSTR(RIGHT(Y,10),1,9),FWGETNROSERIE())})+ "')") }(FWUISTANDSKIN.PRW) 27/03/2013 11:20:43 line : 99

[TOTVS build: 7.00.120420A-20120726]
Called from ::MSDIALOG:ACTIVATE
Called from U_CADESTSEG(CADESTSEG.PRW) 22/08/2013 11:42

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16572 por kanaamlrr
Respondido por kanaamlrr no tópico Re: variable not object
Frederico, tenta remover a linha "Private oMainWnd"
depois posta ai se deu certo.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.105 segundos
Joomla templates by a4joomla