Page 1 of 1

Amigos AYUDA URGENTE

Posted: Tue Feb 20, 2007 4:49 pm
by Miguel Rivera
Amigos:

Necesito me puedan orientar.

Estoy tratando de usar la siguiente rutina en FW 2.4 y Blinker 7.0, pero me arroja un error, es para poner un fondo de pantalla.

Puedo usar el FW 2.4 y porque el error?

Saludos,

Miguel

RUTINA. AL FINAL ESTA EL ERROR.

function IniLogo()
if ! Empty( ::oBmpLogo ) .or. ! Empty( ::oBmpTiled )
::oWnd:bPainted = { | hDC | If( ::oBmpTiled != nil,;
BmpTiled( hDC, ::oWnd, ::oBmpTiled ),),;
If( ::oBmpLogo != nil,;
PalBmpDraw( hDC,;
::oWnd:nHeight() / 2 - ;
::oBmpLogo:nHeight() / 2 - 50,;
::oWnd:nWidth() / 2 - ;
::oBmpLogo:nWidth() / 2,;
::oBmpLogo:hBitmap ),) }
endif
Return nil

function BmpTiled( hDC, oWnd, oBmp )

local nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
local nRow := 0, nCol := 0, n
local nBmpWidth := oBmp:nWidth(), nBmpHeight := oBmp:nHeight()

while nRow < nHeight
nCol = 0
while nCol < nWidth
PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
nCol += nBmpWidth
end
nRow += nBmpHeight
end

return nil

*** ERROR
Application
===========
Path and name: D:\MIGUEL\PROGRA2\WINDOWS\INFORMES\MENU3.EXE (16 bits)
Size: 341,248 bytes
Max files handles permited: ( SetHandleCount() ) 255
Time from start: 0 hours 0 mins 0 secs
Error ocurred at: 20-02-2007, 13:40:38
Error description: Error BASE/1003 Variable does not exist: SELF

Stack Calls
===========
Called from LOCKERRHAN(0)
Called from (b)INITHANDL$(0)
Called from TUTOR(38)

System
======
CPU type: Pentium
Hardware memory: 128 megs

Free System resources: 85 %
GDI resources: 86 %
User resources: 85 %

Compiler version: Clipper (R) 5.2e Intl. (x216) (1995.02.07)
Windows and MsDos versions: 3.95, 7.10

Windows total applications running: 25
1 C:\WINDOWS\EXPLORER.EXE
2 C:\WINDOWS\SYSTEM\SHLWAPI.DLL
3 C:\WINDOWS\SYSTEM\COMCTL32.DLL
4 C:\WINDOWS\SYSTEM\BROWSEUI.DLL
5 C:\WINDOWS\SYSTEM\WINOA386.MOD
6 C:\WINDOWS\SYSTEM\USER.EXE
7 C:\WINDOWS\SYSTEM\DDHELP.EXE
8 C:\WINDOWS\SYSTEM\SPOOL32.EXE
9 C:\WINDOWS\SYSTEM\OLE32.DLL
10 C:\ARCHIV~1\MICROS~1\OFFICE\MSO97.DLL
11 C:\ARCHIV~1\MICROS~1\OFFICE\FINDFAST.EXE
12 C:\WINDOWS\SYSTEM\SYSTRAY.EXE
13 C:\ARCHIV~1\MICROS~1\OFFICE\OSA.EXE
14 C:\WINDOWS\LOADQM.EXE
15 C:\WINDOWS\TASKMON.EXE
16 C:\WINDOWS\SYSTEM\MSHTML.DLL
17 C:\WINDOWS\SYSTEM\URLMON.DLL
18 C:\WINDOWS\SYSTEM\DDEML.DLL
19 C:\WINDOWS\SYSTEM\MSTASK.EXE
20 C:\WINDOWS\SYSTEM\MMSYSTEM.DLL
21 C:\WINDOWS\SYSTEM\KB918547\KB918547.EXE
22 C:\WINDOWS\SYSTEM\KB891711\KB891711.EXE
23 C:\WINDOWS\SYSTEM\MSGSRV32.EXE
24 C:\WINDOWS\SYSTEM\WEBCHECK.DLL
25 C:\WINDOWS\SYSTEM\SHDOC401.DLL

Variables in use
================
Procedure Type Value
==========================
LOCKERRHAN
Param 1: O Class: ERROR
Param 2: B { || ... } CodeBlock
(b)INITHANDL$
Param 1: O Class: ERROR
TUTOR
Local 1: O Class: TBRUSH
Local 2: O Class: TICON
Local 3: U
Local 4: U
Local 5: U
Local 6: U
Local 7: U
Local 8: U
Local 9: U

Linked RDDs
===========
DBF
DBFNTX

DataBases in use
================

Classes in use:
===============
1 TBRUSH
2 TWINDOW
3 TCONTROL
4 TICON
5 ERROR
6 TSTRUCT

Memory Analysis
===============
Static memory:
data segment: 64k
Initial size: 40128 bytes (SYMP=664, Stack=17000, Heap=4112)
PRG Stack: 25225 bytes
13 Static variables: 182 bytes

Dynamic memory consume:
Actual Value: 256640 bytes
Highest Value: 346752 bytes

Re: Amigos AYUDA URGENTE

Posted: Tue Feb 20, 2007 5:39 pm
by wmormar
Miguel,

function IniLogo(oWnd,oBmpTiled)
if ! Empty( oBmpLogo ) .or. ! Empty( oBmpTiled )
oWnd:bPainted = { | hDC | If( oBmpTiled != nil,;
BmpTiled( hDC, oWnd, oBmpTiled ),),;
If( oBmpLogo != nil,;
PalBmpDraw( hDC,;
oWnd:nHeight() / 2 - ;
oBmpLogo:nHeight() / 2 - 50,;
oWnd:nWidth() / 2 - ;
oBmpLogo:nWidth() / 2,;
oBmpLogo:hBitmap ),) }
endif
Return nil

function BmpTiled( hDC, oWnd, oBmp )

local nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
local nRow := 0, nCol := 0, n
local nBmpWidth := oBmp:nWidth(), nBmpHeight := oBmp:nHeight()

while nRow < nHeight
nCol = 0
while nCol < nWidth
PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
nCol += nBmpWidth
end
nRow += nBmpHeight
end

return nil

Los dos puntos (::) significa que es parte de una clase declrada, por lo tanto, no se podrian usar en una función.

saludos

Re: Amigos AYUDA URGENTE

Posted: Tue Feb 20, 2007 6:08 pm
by Miguel Rivera
Hola Amigo:

Sabes que la saque desde FIVEGEN de FW 2.4, como me lo indico Antonio.

Dondes esta el error?

Saludos,

Miguel


wmormar wrote:Miguel,

function IniLogo(oWnd,oBmpTiled)
if ! Empty( oBmpLogo ) .or. ! Empty( oBmpTiled )
oWnd:bPainted = { | hDC | If( oBmpTiled != nil,;
BmpTiled( hDC, oWnd, oBmpTiled ),),;
If( oBmpLogo != nil,;
PalBmpDraw( hDC,;
oWnd:nHeight() / 2 - ;
oBmpLogo:nHeight() / 2 - 50,;
oWnd:nWidth() / 2 - ;
oBmpLogo:nWidth() / 2,;
oBmpLogo:hBitmap ),) }
endif
Return nil

function BmpTiled( hDC, oWnd, oBmp )

local nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
local nRow := 0, nCol := 0, n
local nBmpWidth := oBmp:nWidth(), nBmpHeight := oBmp:nHeight()

while nRow < nHeight
nCol = 0
while nCol < nWidth
PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
nCol += nBmpWidth
end
nRow += nBmpHeight
end

return nil

Los dos puntos (::) significa que es parte de una clase declrada, por lo tanto, no se podrian usar en una función.

saludos

Posted: Tue Feb 20, 2007 6:47 pm
by Antonio Linares
William te lo ha explicado: Tienes que quitar los "::" ya que no estás dentro de un método usando datos de un objeto