I am seeing a strange problem which seems to be isolated to some Windows 2000 PCs.
I am using C# in Visual Studio 2008, targeting .Net 2.0 with LLBLGen Pro 2.6 Self Servicing.
I am using the TypedListDAO class to populate a DataTable.
Several instances of this code work fine every time, several other instances work fine on my development PC and others running XP but don't work on several Windows 2000 PCs I need to deploy the software on to.
I get a "Object not set to instance of an object" error but I can't see why.
One code section that works is:
TravelDB.HelperClasses.ResultsetFields fields = new TravelDB.HelperClasses.ResultsetFields(1);
fields.DefineField(TravelDB.HelperClasses.AirportLocationFields.TrAirportName, 0);
IPredicateExpression FromFilter = new PredicateExpression(TravelDB.HelperClasses.AirportLocationFields.Airport == strAirportCode);
TravelDB.DaoClasses.TypedListDAO CustomerDynamicList = new TravelDB.DaoClasses.TypedListDAO();
AirportList.Clear();
CustomerDynamicList.GetMultiAsDataTable(fields, AirportList, 0, null, FromFilter, null, false, null, null, 0, 0);
One code section that doesn't is:
TravelDB.HelperClasses.ResultsetFields fields = new TravelDB.HelperClasses.ResultsetFields(2);
fields.DefineField(TravelDB.HelperClasses.CountryFields.CountryCode, 0);
fields.DefineField(TravelDB.HelperClasses.CountryFields.Name, 1);
IPredicateExpression FromFilter = new PredicateExpression();
if (AllNations == false)
{
TravelDB.EntityClasses.AirportLocationEntity Arpt = new TravelDB.EntityClasses.AirportLocationEntity(strAirportCode);
if (Arpt.CountryCode != "?")
FromFilter.Add(TravelDB.HelperClasses.CountryFields.CountryCode == Arpt.CountryCode);
}
ISortExpression sorter = new SortExpression(TravelDB.HelperClasses.CountryFields.Name | SortOperator.Ascending);
TravelDB.DaoClasses.TypedListDAO CountryDynamicList = new TravelDB.DaoClasses.TypedListDAO();
DataTable NationsList = new DataTable();
CountryDynamicList.GetMultiAsDataTable(fields, NationsList, 0, sorter, FromFilter, null, false, null, null, 0, 0);
cmbCountry.DataSource = NationsList;
cmbCountry.DisplayMember = "Name";
cmbCountry.ValueMember = "CountryCode";
As mentioned, it works on my development PC so it's really hard to debug. All I've managed to determine is that it's the GetMultiAsDataTable that fails.