Fehler bei setParent [Erledigt]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 996
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Fehler bei setParent [Erledigt]

Beitrag von HaPe »

Hallo Zusammen !

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.)
Beim ersten setParent gibts folgenden Xpperror:

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)
Was ist hier das Problem?

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
Zuletzt geändert von HaPe am Mo, 19. Dez 2016 18:56, insgesamt 1-mal geändert.
--
Hans-Peter
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 996
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Fehler bei setParent

Beitrag von HaPe »

Beim mehrmaligen Studieren des Codes habe ich noch die Objekt-Referenz oXbp2 der Funktion ShowInfo mitgegeben und schon klappt es mit dem Info-Fenster

Code: Alles auswählen

oXbp2:Activate     := {|| ShowInfo( oXbp2 ) }
--
Hans-Peter
Antworten