I am having an issue where closing and reopening the file in the IDE will change parameters (tparam) for my dataset from integer to shortint. If i change them to integer it appears to save, but once lcosed and reopened it is back as shortint. is there a way around Delphi changing parameters from Integer to Shortint?
I found a similar issue here http://www.delphigroups.info/2/1/284088.html
It appears a bug, but there is there a workaround of some fashion? Upgraded Delphi version is not something I can do at this moment. (reproduction steps outlined in second edit)
EDIT:
This is happening by just placing a TQUERY on the form putting an sql statement in it with a parameter, if you change the value type to integer. save and reopen the value type is then shortint.
EDIT again:
In Delphi 7, create new application. Drop a TQUery on the form. Edit the SQL script to something like 'select * from table where id = :idnumber. Edit the params next. Select idnumber and change VALUE.TYPE to Integer. At this point you can save the file and close. When you reopen the file. And go to params again selecting idnumber it will remain a type ftInteger but the value.type will be Shortint. This is the piece I wish to remain an integer, but unfortunately is getting converted to a shortint.
TQueryhas to be connecting to a database somewhere. If it's an actualTQuery, that's attached to a BDE database of some sort (as I said, Paradox or something else through BDELinks). It could be related to the database driver or the underlying DB column data type, which is why I asked (and will again): What is the underlying database type and field type? (If the DB column isshortint, there's no need to save a parameter pointing to it as aninteger, because the column can't hold more than ashortintvalue.)TQueryon it, clicked theSQLbutton in the Object Inspector, typed inSELECT ID FROM sometable WHERE ID = :id, and closed the SQL edit window. Inspecting the form as text, I get one parameter declared (ID), with aDataType = ftUnknownand aParamType = ptUnknown, neither of which areinteger, and therefore aren't saved asinteger.