Could someone tell me why it wont work??
I am trying to write and read Xrecord.
namespace kec_tools
{
public partial class Form1 : Form
{
#region funkcije
private bool checkXrecord(String objekt)
{
Document mydoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database madata = mydoc.Database;
Editor myed = mydoc.Editor;
using (Transaction trans = madata.TransactionManager.StartTransaction())
{
DBDictionary nod = (DBDictionary)trans.GetObject(madata.NamedObjectsDictionaryId, OpenMode.ForRead);
if (nod.Contains(objekt))
{
return true;
}
else
{
return false;
}
}
}
private void writeXrecord(String txt, int num)
{
/*if (checkXrecord("ViskoOPT"))
{
}*/
Document mydoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database madata = mydoc.Database;
Editor myed = mydoc.Editor;
using (Transaction trans = madata.TransactionManager.StartTransaction())
{
DBDictionary nod = (DBDictionary)trans.GetObject(madata.NamedObjectsDictionaryId, OpenMode.ForWrite);
Xrecord myXrecord = new Xrecord();
myXrecord.Data = new ResultBuffer(
new TypedValue((int)DxfCode.Text, txt),
new TypedValue((int)DxfCode.Int16, num));
nod.SetAt("ViskoOPT", myXrecord);
trans.AddNewlyCreatedDBObject(myXrecord, true);
}
}
private void readXrecord()
{
Document mydoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database madata = mydoc.Database;
Editor myed = mydoc.Editor;
using (Transaction trans = madata.TransactionManager.StartTransaction())
{
DBDictionary nod = (DBDictionary)trans.GetObject(madata.NamedObjectsDictionaryId, OpenMode.ForRead);
ObjectId myDataId = nod.GetAt("ViskoOPT");
Xrecord myXrecord = (Xrecord)trans.GetObject(myDataId, OpenMode.ForRead);
List<TypedValue> polje = new List<TypedValue>(2);
foreach (TypedValue value in myXrecord.Data)
{
polje.Add(value);
}
int a = (int)polje[1].Value;
String output = (String)polje[0].Value+ a.ToString();
MessageBox.Show(output);
}
}
#endregion
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
writeXrecord("This works!!!!", 1);
readXrecord();
}
}
}