public IOPair GetRandom(ref Network network) { lock (lock_obj) { int class_index = r.Next(cat_names.Count); int pos = r.Next(paths[class_index].Count); CELLDATA data = new CELLDATA(); GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); string path = paths[class_index][pos]; //IntPtr ptr_data = Marshal.AllocHGlobal(Marshal.SizeOf(data)); //Marshal.StructureToPtr(data, ptr_data, true); //IntPtr ptr_string = Marshal.StringToBSTR(path); int val = evalThisCellFileInput(path, out data, 0); return(new IOPair(null, null)); //return new IOPair(result, results[class_index]); } }
static extern int evalThisCellFileInput(string fnameIn, out CELLDATA cf_out, int debugFlag);