Wiki Home

VFP Version 7 Wish List

Namespace: WIN_COM_API
See all the lists in Category Vfp Wish Lists
Move (delete the old) unfulfilled wishes to VFP Toledo Wish List.
In case anyone wants the original: VFP Version Next Wish List Org
See what we got in VFP Version 7 Revealed
Bug Fixes • Just work thru all open entries in the buglist (Hint: See MS Knowledgebase ). A bugless tool is the best selling point!

• Fix of all C0000005 Errors, these are very critical for the Image of VFP, also saves lots of our time trying to work around these errors...
C5 errors occur when an error is trapped that normally would cause a visit from Dr. Watson. Many of these things are beyond the control of VFP. So, if you eliminate all of the C5 errors, you'll get more GPFs.

This misses the point of the request: Fix VFP7 so that garbage is better automatically collected so the invalid references don't happen anymore... See C0000005 Ex Error on this wiki for a way to accomplish this using VFP6 code (as opposed to the 'correct' way of correcting the vfp.exe code)

IDE Features • When you resize a control horizontally, both the width and height properties get set in the properties sheet (and vice-versa). Call me picky, but if the height does not change, the height property should not change from the default inherited by the class definition.

The problem I'm running into with this is that we've changed the standard height for some of our base subclasses and even though none of the height properties were ever explicitly set in the form designer, any time the width is set, the height also is set. Now I have to revisit each and every form to "reset to default" the height of the controls. Maybe I'll have to write a builder to deal with this... Arg. - William Fields

• More complete VSS source control integration features. I'd like to be able to do more from within VFP. Share/Branch/Label projects etc...
Do other MS tools provide this functionality? The VFP team is limited by what VSS exposes in the COM Server
I don't know if other VS tools incorporate the functionality, but there's an article in May's MSDN Mag about the VSS object model and a relativly simple custom developed web application that incorporates them. It's a pretty good article, we've been using VSS for years without taking advantage of it's most advanced and advantagous features. In addition to the increased integration features, I'd like to see more white papers on source control with VFP. I'd also like to have VFP incorporate "merge" functions for VSS - reason being is that most of the source code for VFP projects are binary (tables) and you cannot do a merge from VSS (or VFP) with them. There's got to be a way for the VFP team to incorporate some kind of text file extraction (similar to the text files that are generated when you check files into VSS) and compilation to incorporate merge functions.

• The Project Hooks are great! How about editor hooks and/or user defined extentions. I'd love to be able to add to the rightclick menu when editing methods and prgs. (I know, you can hook using the _BEAUTIFY variable but it's a bit sloppy.) Replacing the print routine with my own would be useful also.

• Add a switch so that MODIFY (form/class/report) doesn't auto-create if you make a typo. How would VFP know if you make a typo? For all it knows, you want to create a form/class/report by that name? Doesn't CREATE mean make a new one? :) 99% of the time I'm working on existing objects. (To ensure backwards compatibility, I'd be happy with a switch to select this behavior. Bill Armbrecht

• put back the functionality we had in VFP5 where MODI CLASS ? OF ClassName selected the class and displayed the memberlist. It's a pain to have to click on the class name (usually requiring scrolling first) Bill Armbrecht

Project Manager
• Better user defined hierarchical structure for Classes, Forms, Reports, Programs as Directory Tree for a great quantity of Files in big Projects. An option to sort on timestamp. It would bring the things I am working on to the top of the list.

• Add the ability to show checked out files.

• New Events for Project Hooks to better VSS Control CheckOut, CheckIn

• New Events for Project Hooks for Project Activate

• The F2 key is the key to rename files in Windows Explorer. We'd like to see this hot key tied to the rename option under the project menu and on the right-click menu.

• Allow finding a file by typing first few letters of name instead of jumping file to file based on only first letter. Also a tab where all files were at base level so you can look for any one by name.

Class Browser
• Allow dragging and dropping classes between class libraries in the same instance of the class browser. You can do this now using the Project Manager instead.

• A button to toggle hierarchical view on and off.

• Support of the Source Control Interface.

Class Editor
• Change the Column and Header to User defined Classes in Design time in Grids.

• Change the Page Class to User defined Class at Design time in Page Frame.

• Ken Levy's Super Cls and Drew Speedie's Super Cls extensions built-in.

•DesignTimeAccess and DesignTimeAssign methods.
These would add the ability to write code in the class designer, code which would NOT be executed at runtime, but at design time when accessing/modifying a user defined property from the properties window of a control - something like a DesignTimeAssign and a DesignTimeAccess method. As an example, when adding a property to a control in the class designer, we could write in the DesignTimeAssign method of the property some code which would verify that the property value we try to set is of Character type; the DesignTimeAssign method would be fired when modifying it's value from the FORM designer. We could also write in a DesignTimeAccess method some code opening the appropriated combo box, when accessing the property from the form designer.
Thoses methods could exist at the Property level (to be fired when accessing/assigning a property), and at the Control level. (to be fired when accessing/closing the properties window of a control, or when leaving a forml). They would support inheritance. This would give tremendous extensibility to object reuse, and it seems to me than this would be a much more straightforward way than today's wizard system, as the assistants could be created in the same time we perform a subclassing operation. I do not know if any product does that. I think it would be of great interest in VB too. Anyone interested in discussing this subject? I've wanted this same idea.. where I needed it is in creating compound objects in a Control or a Container... It's very disconcerting to make a compound Control, then resize it in a subclass and not have the contained objects position themselves until runtime. -- wgcs
Form Editor
• Ability to select the base class for Forms (and controls, etc.) from a picklist or a getdir(*.VCX) instead of having just one option in

• DHTML Based Forms in addition to native VFP forms.

• Add an additional tab on the Property Window for user defined properties or have a switch to allow user defined properties to appear in the alphabetical list of native VFP properties.

• AutoScroll Property to automatically scroll forms to follow the cursor

• Change the color of a selected Tab Order box after checked - Now I know where I am.

• Allow listboxes/editboxes to be extended vertically with shift-click as grids do.

Code Editor
• Ken Levy's Super Cls and Drew Speedie's Super Cls extensions built-in.

• Ctrl-UpArrow and Ctrl-DownArrow scroll the code window up and down leaving the text cursor on the same line. This was one of the handiest features of the old PWB and in the current VC++ editor.

• Scrollbars that don't bounce the code window when the thumb is clicked.

Put splitter bar in editor to allow split view of different sections of a prg

• Variable tracker linked to a concordance file. If the programmer types
x = (where x is a variable name), the editor would look x up in the concordance file. If it is in scope, no problem, but if it is not, the editor would issue a warning dialog that would allow the programmer to correct the spelling of the variable, add it to the concordance with a scope directive at the top of the program (like CEE alt-6), or accept it and move on. This would provide us with "IntelliSense" for variables!

View/Query Designer
• Support multiple children.

• Ability to edit the View's SQL and have the GUI part of the designer read the SQL. Once again that two-way tool request. If Access and Power Builder can do this, I am sure the VFP team can do it.

• Ability to inherit properties of the tables

• Ability to modify the table structure and have the view incorporate the modifications automatically
• Ability to handle more complex views ALA SQL Server 7 view designer

• Ability to set USE * or USE fieldnames in the SQL code generation proccess, so I can add fields to tables without trashing my views.

• OLE DB based views

• The ability to edit a view as text without having to have a separate file. These don't work too well with updatable view at any rate.

If the view designer from SQL2K could somehow be hooked in, I'd be a happy guy -- Dan LeClair
Database Features
IndexCount much like indexseek except it would return the number of qulifying index entries, whithout returning records.
• Transparent access to ADO recordsets - views?
- How about an ADO Syntax generator like VB?
- How about SELECT ... INTO XML [name.XML] output? Or incorporate ADO/XML into a Remote View?

• The ability to store arrays in database tables as fields. This feature is available in IBM DB2 and is excellent. Imagine storing 12 months of sales in one field. Obviously, these should be callable as objects as well.

• More data types consistent w/ SQL Server - smalldatetime, smallint, smallmoney, tinyint, timestamp, etc.

• Table repair utility built-in

• Commands to read and write stored procedures. -- We already have that: see APPEND PROCEDURES, and COPY PROCEDURES

• BEGIN / END TRANSACTION to apply to FREE tables (not included in a DBC)
DBC Features Many of these seem to be available with the database events
• An Open_hook and Close_hook to control the access to a database.
• OpenTable and CloseTable events to control access to a table.
• It seems like the two above requests would be satisified with an Object Based cursor ie a Cursor Class, and while we are at it, perhaps a Database class. Will this make VFP an object database? No, just make data access OOP. Is that what we are saying we want? Basically an ADO type interface for VFP data? Once some of these questions are answered perhaps we can better focus this/these requests.

While, Open and Close hooks COULD BE satisfied with an object based cursor, simply providing the hooks would give US the ability to implement whatever we wanted. This is a big one, folks let's not feature creep it into oblivion.

• Ability to synchronize the data in two databases.

• DBC Security via passwords and/or encryption.

• A BeforeTrigger-Event. The Trigger should be switched off, so that's possible to write in Fields for Timestamp, Userstamp or calculated Fields without new trigger-event.

Table Designer • Remove the modality from the designer.

• Allow to either resize the designer or bigger space to enter field names.

• Not so much a UI issue, but how about long index tag names?

• Ability to drag and drop fields from one table to another. This would create the field in the other table and create a foreign index tag for it.

Views • Local: Allow the view designer to be able to create a usable view from
anything that can be defined in it.

• Remote: To Change User Login Name and Password Programmatically without changing the DBC or creating a temporary DBC for Views .

SQL Server Integration
• Better integration with SQL Server so that, like from within the VB6 IDE, we can gain access to (and edit) SQL Server stored procedures, etc.

Language Features
• A Build log option in the BUILD command. e.g.:
BUILD EXE myexe FROM myproj LOG mylogfile

Then, when it stops with a ^%^&*)(*! file access denied error, I can quickly work out which of the volatile files I checked into source control by mistake. This is already there in a rudamentary fashion. When compiling the project and you get a file access is denied error, check out the ProjectName.ERR file, the last entry should be the file it was trying to compile when the error occured. I will say however that it would be nice if the error log were more informative.

The log file would just take the form
Building EXE MyExe from C:\Development\MyProj.PJX
Started 2000-04-05 15:45:06
Building APP...OK
Building EXE...OK
Finished 2000-04-05 15:45:48

• Function to create an multi dimensional array of all open tables in the current datasession. need info like alias name, table name, filepath etc...

•A screen Resize Event.

• Ability to Define & Raise Events - like in VB - very essential for COM

• Conversion functions for converting to all possible field data types (Cint, CDbl).

• Integration of VFPCOM features into the primary language.

• Allow SCATTER NAME to work with an existing object. It should be capable of adding non-existent properties to the object dynamically (Add Property should be called for each new property) as well as writing to an object where the data properties have been predefined.

• The ability to fire an event either Now or Queued (see Power Builder) as opposed to just calling the method connected to that event.

• The ability to respond to ALL windows events.

• A new Class directive (NOPUBLISHED), additional to PROTECTED and HIDDEN, to hide properties and methods in the property window of Class & Form Designer for internal properties or methods with PUBLIC interface.

• Static variables such as those available in Visual C++ and Visual dBASE. This would allow a method or procedure to store a state that could be referenced in repeated calls to the method or procedure.

• Extension to the IN operator in SQL selects: SELECT * FROM anyTable WHERE anyField IN ARRAY arrayName Why not using SELECT * FROM AnyTable WHERE ASCAN(ArrayName,anyfield) > 0 ?

• Add support for method code in a contained object to reference the containing object(s) directly. For example, THIS.PARENT.PARENT would be far more meaningful if it was THIS.GRID or THIS.Column.

• New command Field Revert() which allows individual fields to be reverted You mean like what you can do now with SETFLDSTATE() and OLDVAL()?

variable scope commands{public, private, local} combined with assignment: the ability to assign values as part of the scope command. example: local lnCtr = 0

• The LOCAL command should accept the ALL and EXCEPT