Кажется, мне нужно было также импортировать Accessibility, чтобы он работал с новой версией. Было бы неплохо более подробное сообщение об ошибке. (
Но сейчас я получаю ту же ошибку в этом сценарии, когда он попадает в "private var myData: DataTable;" часть:
import System;
import System.Windows.Forms;
//import System.ComponentModel;
import System.Drawing;
import Accessibility;
import System.Data;
import System.Data.SqlClient;
package ResizeMe
{
class PanelForm extends System.Windows.Forms.Form
{
private var panel1: Panel;
private var label1: Label;
private var myDataForm: DataGridView;
private var myData: DataTable; // !!!
private var connectionString: String;
private var selectCommand: String;
private var dataAdapter: SqlDataAdapter;
private var commandBuilder: SqlCommandBuilder;
function PanelForm()
{
this.Text= "Anchoring Demo: Resize Me";
try
{
selectCommand = "SELECT * FROM dbo.Deities";
connectionString = "Integrated Security=SSPI;Persist Security Info=False;" +
"Initial Catalog=protos;Data Source=localhost"
dataAdapter = new SqlDataAdapter(selectCommand, connectionString);
commandBuilder = new SqlCommandBuilder(dataAdapter);
// myData = new DataTable();
// myData.Locale = System.Globalization.CultureInfo.InvariantCulture;
// dataAdapter.Fill(myData); // !!!
// myDataForm = new DataGridView();
// myDataForm.DataSource = myData;
// myDataForm.Location= new Point(100,100);
// myDataForm.Size= new System.Drawing.Size(100,100);
}
catch (e:SqlException)
{
// MessageBox.Show("To run this example, replace the value of the " +
// "connectionString variable with a connection string that is " +
// "valid for your system.");
}
label1= new Label;
label1.Location= new Point(10,10);
label1.Size= new System.Drawing.Size(80,20);
label1.Name= "label1";
label1.Text= "This is a Label";
panel1= new Panel;
panel1.Location= new Point(0,0);
panel1.Size= new System.Drawing.Size(300,300);
panel1.Name= "This is a Panel";
panel1.Anchor= AnchorStyles.Top | AnchorStyles.Left;
panel1.Controls.Add(label1);
panel1.Controls.Add(myDataForm);
this.Controls.Add(panel1);
}
}
}
Application.Run(new ResizeMe.PanelForm());
Есть какая-нибудь подсказка, что мне не хватает?
[править]
К сведению, во время разработки используйте jsc.exe, включенный в v2.0.50727 .NET Framework, поскольку он выдает подробные ошибки, которые действительно полезны. Вы всегда можете переключиться на более новые версии для окончательной сборки, если это будет необходимо. Вот что решило мою проблему.