Ich nutze den Beispiel-Code von hier: http://wiki.xbaseentwickler.de/index.ph ... XbpDialog)
Code: Alles auswählen
FUNCTION ShowInfo( oPush )
LOCAL cMsg, oParent := NIL, aSize
cMsg := 'Dimension des Parent: {'
oParent := oPush:setParent()
aSize := oParent:CurrentSize()
cMsg += LTrim( STR( aSize[1] ) ) + ', ' + LTrim( Str( aSize[2] ) ) + '}, '
cMsg += 'Dimension des Over-Parent {'
oParent := oParent:setParent()
aSize := oParent:CurrentSize()
cMsg += LTrim( Str( aSize[1] ) ) + ', ' + LTrim( Str(aSize[2] ) ) + '}.'
ConfirmBox( , cMsg, 'Information', XBPMB_OK, XBPMB_INFORMATION )
RETURN (.T.)
Code: Alles auswählen
------------------------------------------------------------------------------
FEHLERPROTOKOLL von "D:\Projekt\Xbase20\HaPe\ReadREPFile\ReadREPFile.EXE" Datum: 19.12.2016 18:36:13
Xbase++ Version : Xbase++ (R) Version 2.00.726
Betriebssystem : Windows 10 10.00 Build 14393
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: U VALUE: NIL
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Empfänger der Nachrichten ist kein Objekt
oError:filename :
oError:genCode : 38
oError:operation : setParent
oError:osCode : 0
oError:severity : 2
oError:subCode : 2266
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von SHOWINFO(118)
Aufgerufen von (B)MAIN(102)
Aufgerufen von XBPPUSHBUTTON:HANDLEEVENT(1556)
Aufgerufen von MAIN(108)
Aufgerufen wird ShowInfo über den PushButton "Test":
Code: Alles auswählen
PROCEDURE MAIN()
LOCAL nEvent := NIL, mp1 := NIL, mp2 := NIL, oXbp1 := NIL, oXbp2 := NIL, DrawingArea
*-- ERROR-Logdatei löschen falls vorhanden
IF FILE( 'XPPFATAL.LOG' )
FERASE( 'XPPFATAL.LOG' )
ENDIF
*-- Anmelden der FOXDBE-DatabaseEngine als DEFAULT-DBE
DbeSetDefault( 'FOXDBE' )
*-- Zeichenbereich setzen, darin neuen Pushbutton erstellen und positionieren
DrawingArea := SetAppWindow():DrawingArea
oXbp1 := XbpPushbutton():New( DrawingArea , , {12,12}, {100,30} )
oXbp1:Caption := 'Ende'
oXbp1:ClipSiblings := .T.
oXbp1:Activate := {|| PostAppEvent( xbeP_Quit ) }
oXbp1:Create()
oXbp2 := XbpPushbutton():New( DrawingArea , , {12,48}, {100,30} )
oXbp2:Caption := 'Test'
oXbp2:ClipSiblings := .T.
oXbp2:Activate := {|| ShowInfo() }
oXbp2:Create()
*-- EVENT-LOOP für die Applikation
DO WHILE nEvent <> xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp1 )
oXbp1:HandleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN