TxControl Fehler beim Speichern (gelöst)

Moderator: Moderatoren

Antworten
Peter Schweizer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 153
Registriert: Do, 06. Apr 2006 10:51
Danksagung erhalten: 3 Mal

TxControl Fehler beim Speichern (gelöst)

Beitrag von Peter Schweizer »

Hallo Gemeinde
habe mit TxControl 9.1(alte Lizenz) versucht, einen MemoEdit Ersatz zusammenzubauen,
das Aufrufen und Editieren funktioniert, jedoch beim Speichern des geänderten Memotextextes bekomme ich eine Fehlermeldung:
oError:description : Falscher Objekt Status
oError:filename :
oError:genCode : 104
oError:operation : XBPACTIVEXCONTROL:GETNOIVAR
oError:osCode : 0
oError:severity : 2
oError:subCode : 0
oError:subSystem : BASE
oError:thread : 3
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von EXCEPTION:RAISE(195)
Aufgerufen von EXCEPTION:RAISEOBJECTSTATE(259)
Aufgerufen von XBPACTIVEXCONTROL:GETNOIVAR(1265)

Code: Alles auswählen

    LOCAL cText := text->txt		// memo
   @ 3,2 DCSTATIC type XBPSTATIC_TYPE_TEXT object oStatic1 SIZE 80,20 	TABSTOP
   DCREAD GUI;
	TO lSpeichern;
	TITLE "Text Dokument bearbeiten";
        PARENT @oDlg;
	OPTIONS GetOptions ;
    	EVAL {||MyCreateTxControl(@oTxMenu,.T.,.T.,oDlg,oStatic1,@oStatic1,@oTxControl,@oTxButtonBar,@oTxStatusBar,cText,.F.)} 

	IF lSpeichern .AND. rec_lock()
		REPLACE text->txt WITH oTxControl:Text   //  hier kommt Fehler !!
	ENDIF

FUNCTION MyCreateTxControl(oTxMenu,lResizeable,lEditAble,oOwner,oWindow, oDlgArea,oTxControl,oTxButtonBar,oTxStatusBar,cMemoText,lIsDatei )
	......... 
    oTxControl:Text := (hardcr(cMemoText))
	...........
RETURN oTxControl
Hat mir jemand einen Tip was da schief laufen könnte ?

Gruß Peter
Zuletzt geändert von Peter Schweizer am Fr, 10. Mär 2017 14:05, insgesamt 1-mal geändert.
Gruss Peter
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: TxControl Fehler beim Speichern

Beitrag von brandelh »

Bedeutet normalerweise, dass du eine Methode aufrufst, bevor ein Create stattgefunden hat.
Bei ActiveX, könnte die Methode aber auch anders aufzurufen sein ...

Ich würde grundsätzlich den Rückgabewert in eine Variable speichern und eventuell die Variablen jeweils auf Type checken.
Ab und zu muss man mit Werten ODER NIL rechnen, replace mag kein NIL.
Gruß
Hubert
Peter Schweizer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 153
Registriert: Do, 06. Apr 2006 10:51
Danksagung erhalten: 3 Mal

Re: TxControl Fehler beim Speichern

Beitrag von Peter Schweizer »

Hallo Hubert,

das gleiche tritt auf, wenn ich: neutxt := oTxControl:Text
eingebe anstatt des Replace Befehls.
oTxControl muß schon existieren, sonst könnte ich ja in dem erstellten Textfenster nichts eingeben.
Also kann es das nicht sein.

Peter
Gruss Peter
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: TxControl Fehler beim Speichern

Beitrag von Wolfgang Ciriack »

Mit dem Exit mit DCREAD.. werden alle Objekte gelöscht, d. h. auch dein oTxControl.
Entweder du speicherst vorher das ganze in eine lokale Variable, oder du ergänzt dein DCREAD um ein SAVE.
Bei SAVE musst du dann natürlich den Dialog mit oDlg:destroy() am Ende deiner Funktion beenden.
Viele Grüße
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: TxControl Fehler beim Speichern

Beitrag von brandelh »

Wenn ich Fenster mit Eingaben aufmache, liefert die Funktion Daten zurück.
Das kann ein String, ein Array oder ein komplexeres gebilde sein.

Controls gehören zu Fenstern, nach dem Fensterende greife ich nie darauf zurück.
Gruß
Hubert
Peter Schweizer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 153
Registriert: Do, 06. Apr 2006 10:51
Danksagung erhalten: 3 Mal

Re: TxControl Fehler beim Speichern

Beitrag von Peter Schweizer »

Alles klar, das wars.
Hab jetzt vor verlassen von DCREAD die Daten in einer localen Variablen zwischengespeichert.

Vielen Dank für die Tips.

Gruß Peter
Gruss Peter
Antworten