Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Using Visual Promatrix with the existing application
Message
 
 
To
29/06/2009 17:04:00
General information
Forum:
Visual FoxPro
Category:
Visual ProMatrix
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01408759
Message ID:
01409227
Views:
43
>Yes: they changed the field names in 9.1.
>
Hank,

It is another day spent in vain - I can not get the simple thing to work - it should not be this hard.

I'm getting an error now on this line
* If a view or cursoradapter that doesn't use the PKValue filter is being used as a lookup cursor, make sure the index tag that is used
	* in the SEEK() in the Refresh method has been created. Otherwise, an error occurs when the SEEK() is executed.
	IF This.lLookupDescription AND NOT EMPTY(This.cLookupFKExpression) AND NOT EMPTY(This.cLookupAlias) AND ;
		NOT EMPTY(This.cLookupPKTag) AND NOT EMPTY(This.cLookupExpression) AND slnLookupSourceType <> 3 AND ;
		NOT '?PKVALUE' $ UPPER(CURSORGETPROP('SQL',This.cLookupAlias))
Property name is invalid for the cursor.

See how I'm trying to set this textbox up - what could be wrong here?

This is what I currently have in this form - can you spot my error, please? The code is produced using Class Browser for the form:
DEFINE CLASS dealeropt AS form_toolbar


	Top = 18
	Left = 168
	Height = 598
	Width = 583
	DoCreate = .T.
	Caption = "Aftermarket Options"
	MinButton = .F.
	MinHeight = 550
	MinWidth = 520
	*-- cntMoverMakes.Width / thisform.Width
	nmakesratio = 1
	*-- cntMoverModels.Width / thisform.Width
	nmodelsratio = 1
	ctoolbar = ""
	lallownoorder = .F.
	clistfields = "Option_Desc"
	ltrans_form_ = .F.
	Name = "dealeropt"

	*-- Array of Makes
	DIMENSION arrmakes[1]

	*-- Array of selected makes
	DIMENSION arrselectedmakes[1]


	ADD OBJECT txtdealeropts_optionid AS textbox_ WITH ;
		ControlSource = "cOptions.OptionID", ;
		Height = 20, ;
		Left = 14, ;
		TabIndex = 4, ;
		Top = 16, ;
		Width = 358, ;
		llookupdescription = .T., ;
		clookupalias = "DealerOptions", ;
		clookupexpression = "Option_Desc", ;
		loverridewidth = .T., ;
		cfkupdate_fkfields = "Option_Desc", ;
		cfkupdate_form = "DealerOptions", ;
		cfkupdate_pkfields = "OptionID", ;
		clookuppktag = "OptionID", ;
		clookupfkexpression = "OptionID", ;
		cname_ddd = "MNA", ;
		cname_ddtv = "DealerOpts", ;
		Name = "txtDealerOpts_OptionID"


	ADD OBJECT lbldealeropt_description AS label_ WITH ;
		FontBold = .T., ;
		FontSize = 8, ;
		Caption = "Description", ;
		Left = 14, ;
		Top = 2, ;
		Width = 65, ;
		TabIndex = 3, ;
		cname_ddd = "MNA", ;
		cname_ddf = "OptionID", ;
		cname_ddtv = "DealerOpts", ;
		Name = "lblDealeropt_Description"


	ADD OBJECT cntmovermodels AS cntmover WITH ;
		Top = 221, ;
		Left = 15, ;
		Width = 561, ;
		Height = 177, ;
		_2or12geae = "Object", ;
		designerstart = (iif(TYPE("Thisform.Dataenvironment") = "O", "", xfcDesigner(THIS, "Resize"))), ;
		Name = "cntMoverModels", ;
		cmdMoveOne.Top = 30, ;
		cmdMoveOne.Left = 264, ;
		cmdMoveOne.Name = "cmdMoveOne", ;
		cmdMoveAll.Top = 62, ;
		cmdMoveAll.Left = 264, ;
		cmdMoveAll.Name = "cmdMoveAll", ;
		cmdRemoveOne.Top = 104, ;
		cmdRemoveOne.Left = 264, ;
		cmdRemoveOne.Name = "cmdRemoveOne", ;
		cmdRemoveAll.Top = 136, ;
		cmdRemoveAll.Left = 264, ;
		cmdRemoveAll.Name = "cmdRemoveAll", ;
		lstSource.Height = 158, ;
		lstSource.Width = 250, ;
		lstSource.Name = "lstSource", ;
		lblSource.Name = "lblSource", ;
		lblDestination.Left = 313, ;
		lblDestination.Name = "lblDestination", ;
		lstDestination.Height = 158, ;
		lstDestination.Left = 310, ;
		lstDestination.Width = 250, ;
		lstDestination.Name = "lstDestination"


	ADD OBJECT cmdsaveclose AS commandbutton_ WITH ;
		Top = 559, ;
		Left = 252, ;
		Height = 27, ;
		Width = 100, ;
		Anchor = 768, ;
		Caption = "Save and Close", ;
		TabIndex = 12, ;
		ZOrderSet = 4, ;
		Name = "cmdSaveClose"


	ADD OBJECT cmdsavenew AS commandbutton_ WITH ;
		Top = 559, ;
		Left = 357, ;
		Height = 27, ;
		Width = 100, ;
		Anchor = 768, ;
		Caption = "Save and New", ;
		TabIndex = 13, ;
		TabStop = .F., ;
		ZOrderSet = 5, ;
		Name = "cmdSaveNew"


	ADD OBJECT cntmovermakes AS cntmover WITH ;
		Top = 38, ;
		Left = 14, ;
		Width = 561, ;
		Height = 180, ;
		_2or12geb0 = "Object", ;
		designerstart = (iif(TYPE("Thisform.Dataenvironment") = "O", "", xfcDesigner(THIS, "Resize"))), ;
		Name = "cntMoverMakes", ;
		cmdMoveOne.Top = 31, ;
		cmdMoveOne.Left = 264, ;
		cmdMoveOne.Name = "cmdMoveOne", ;
		cmdMoveAll.Top = 63, ;
		cmdMoveAll.Left = 264, ;
		cmdMoveAll.Name = "cmdMoveAll", ;
		cmdRemoveOne.Top = 105, ;
		cmdRemoveOne.Left = 264, ;
		cmdRemoveOne.Name = "cmdRemoveOne", ;
		cmdRemoveAll.Top = 137, ;
		cmdRemoveAll.Left = 264, ;
		cmdRemoveAll.Name = "cmdRemoveAll", ;
		lstSource.Height = 161, ;
		lstSource.Width = 250, ;
		lstSource.Name = "lstSource", ;
		lblSource.Name = "lblSource", ;
		lblDestination.Left = 313, ;
		lblDestination.Name = "lblDestination", ;
		lstDestination.Height = 161, ;
		lstDestination.Left = 310, ;
		lstDestination.Width = 250, ;
		lstDestination.Name = "lstDestination"


	ADD OBJECT cmdcancel AS commandbutton_ WITH ;
		Top = 559, ;
		Left = 462, ;
		Height = 27, ;
		Width = 100, ;
		Anchor = 768, ;
		Caption = "Revert", ;
		TabIndex = 14, ;
		TabStop = .F., ;
		ZOrderSet = 6, ;
		Name = "cmdCancel"


	PROCEDURE Activate
		*- Modify the list form
		DODEFAULT()

		IF THISFORM.lStartWithList

		*- Turn off to prevent endless loop!
			THISFORM.lStartWithList = .F.

		*- If form starts with no records, one has been added but is blank
		*!*		IF NOT EMPTY(EVALUATE(FIELD(1)))
		*!*			THISFORM.Onform_toolbar.cmdList.CLICK
		*!*		ELSE
		*!*	*	ThisForm.txtDealeropt_type.Value = "AFTERMARKET"
		*!*		ENDIF

		ENDIF
		IF NOT PEMSTATUS(THISFORM,'IsActivated',5)
			THISFORM.ADDPROPERTY('IsActivated', .F.)
		ENDIF

		IF NOT THISFORM.IsActivated
			LOCAL lnEndYear, lnBeginYear, lnI, lnSelect
			lnSelect = SELECT()
			lnEndYear = YEAR(DATE())
			lnBeginYear = lnEndYear - 10
			CREATE CURSOR cYears (cYear C(4))
			FOR lnI = m.lnBeginYear TO m.lnEndYear
				INSERT INTO cYears VALUES (TRANSFORM(m.lnI))
			NEXT

			SELECT '[' + cYear + '] ' + NAME AS cNameYear FROM Manufacturers, cYears ORDER BY cYear DESC, NAME INTO ARRAY THISFORM.arrMakes 
			DIMENSION arrMakes[1]
			ACOPY(THISFORM.arrMakes, arrMakes)
			DIMENSION arrSelectedMakes[1]
			ACOPY(THISFORM.arrSelectedMakes, arrSelectedMakes)

			WITH THISFORM.cntMoverMakes
				.SetSourceLabel("Available [Year] Boat Make")
				.SetDestinationLabel("Assigned [Year] Boat Make")
				.PopulateSource(@arrMakes)
				.PopulateDestination(@arrSelectedMakes)
				*.Anchor = 10
				thisform.nMakesRatio = .Width / thisform.Width 
			ENDWITH

		    WITH thisform.cntMoverModels 
		        .SetSourceLabel("Available models")
				.SetDestinationLabel("Selected model/years")
				*.Anchor = 10
				thisform.nModelsRatio = .Width / thisform.Width 
		    ENDWITH 

			SELECT (m.lnSelect)
			THISFORM.IsActivated = .T.
		ENDIF
	ENDPROC


	PROCEDURE Resize
		DODEFAULT()
		thisform.cntMoverMakes.Width = thisform.Width * thisform.nMakesRatio 
		thisform.cntMoverMakes.AdjustPositions("Resize")
		thisform.cntMoverModels.Width = thisform.Width * thisform.nModelsRatio 
		thisform.cntMoverModels.AdjustPositions("Resize")
	ENDPROC


	PROCEDURE Load
		DODEFAULT()
		IF NOT USED('DealerOptions')
		   USE DealerOptions IN 0 SHARED again
		ENDIF
		IF NOT USED('DealerOpts')
		   USE DealerOpts IN 0 SHARED again
		ENDIF   

		CREATE CURSOR cOptions (OptionID int)
		APPEND BLANK IN cOptions
	ENDPROC


	PROCEDURE cmdsaveclose.Click
		With ThisForm
		
				.Onform_toolbar.cmdSave.Click()
				.Onform_toolbar.cmdClose.Click()
		
		Endwith
	ENDPROC


	PROCEDURE cmdsavenew.Click
		With ThisForm
		
				.Onform_toolbar.cmdSave.Click()
				.Onform_toolbar.cmdMore.Click()	
			
		Endwith
	ENDPROC


	PROCEDURE cmdcancel.Click
		ThisForm.Onform_toolbar.cmdRestore.Click()
	ENDPROC


ENDDEFINE
*
*-- EndDefine: dealeropt
**************************************************
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform