问题标签 [grasshopper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在另一种方法中使用 LINQ 变量?
在下面的代码中,我试图将数组分配给Filepaths
变量m_settings
,但Filepaths
在 LINQ 方法之外无法识别。如何将 的内容存储在FilePaths
我可以在SolveInstance
方法中使用的变量中?
c# - C#:组件的输出参数索引 [i] 太高或太低
运行以下代码时出现以下错误消息:
c#: 组件的输出参数索引[1] 太高或太低。
IGH_DataAccess
已经在“获取当前迭代计数”的帮助中提供了迭代计数。在解决方案期间第一次在SolveInstance()
组件上调用该函数时,迭代计数器将为零。每次后续调用它都会加一。使用DA.SetData(0, m_settings[0]);
时确实显示第一行。
错误消息出现在使用的程序中,我得到以下异常DA.SetData(i, m_settings[i]);
:
System.Exception occurred
Message=Unknown file
Source=Grasshopper
StackTrace:
at Grasshopper.Global_Proc.ASSERT(Guid assert_id, String message, Exception exception) in C:\dev\Grasshopper\1.0\root\src\GH_GlobalProc.vb:line 98
InnerException:
Herafter 是 IGH_DataAccess.SetData 方法的描述:Stores data in an output parameter during GH_Component.SolveInstance(). Use this function only for setting individual data items. If you want to set lists of data, you *must* call SetDataList() instead.
将代码更改为DA.SetDataList(i, m_settings[i]);
第一行的字符时会被拆分,而我希望每一行都被拆分。
我究竟做错了什么?
提前致谢!
c# - 使用 BinaryFormatter 序列化类中的 String[] 变量
我正在尝试将m_settings
变量从 volatile 移动到持久记录。我尝试将[serializable]
属性添加到类并m_settings
使用 BinaryFormatter 将变量发送到文件流,但我收到一条错误消息the file cannot be written, access to the file is denied
。我究竟做错了什么?
c# - 通过覆盖基类的 Write() 和 Read() 方法将数据写入文件?
我正在尝试将数据写入文件,下面的代码包含一个writer
允许覆盖write()
基类方法的方法GH_Component
。代码编译没有错误,但数据没有按计划写入。我究竟做错了什么?
c# - 属性、索引器或动态成员访问不能作为 out 或 ref 参数传递?
在下面的代码中,我得到了错误
属性、索引器或动态成员访问不能作为 out 或 ref 参数传递?
m_settings.Length
编译时的论点。我怎么能解决这个问题?
c# - 从 port.DataReceived 事件及其订阅者方法获取 IEnumerable?
我正在尝试读取从设备接收到的数据,但出现以下错误DA.SetDataList(0, port.DataReceived);
:
The best overloaded method match for Grasshopper.Kernel.IGH_DataAccess.SetDataList(int,System.Collections.IEnumerable) has some valid arguments.
SetDataList(int32, IEnumerable) 是 Grasshopper 内核的一部分。port.DataReceived
是一个事件,因此不是有效的 IEnumerable 参数,它在 GH_Component.SolveInstance() 期间将数据列表存储在输出参数中。我已经设置了一个订阅者方法 portdatareceived 它给了我字符串。如何从此方法获得 IEnumerable?
c# - 无法从用法中推断出方法的类型参数
我收到带有以下代码的以下错误消息。我不确定这是否与 Grasshopper 内核有关,或者我没有DataAccess.GetDataList()
正确编写方法。我希望你能帮忙。
The type arguments for method 'Grasshopper.Kernel.IGH_DataAccess.GetDataList<T>(int, System.Collections.Generic.List<T>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
代码:
c# - SerialPort.ReadExisting 方法不显示接收到的数据
以下代码正在构建且没有错误,但是当我运行程序时,接收到的数据未显示在输出中。当我在上放置断点时,myReceivedLines = port.ReadExisting();
我得到:
System.InvalidOperationException
.
在程序本身中,重新启动我的计算机后它说:
Access to COM5 is denied
我能做些什么来解决这个问题?
代码:
c# - 为什么从 Serial Port Null 接收数据?
下面的代码构建没有错误,与设备的连接似乎也可以工作,尽管我没有从设备得到任何反馈。
在 VS 上,我在该行放置了一个断点myReceivedLines = sp.ReadExisting();
,变量myReceivedLines
返回为空。
在另一个连接到同一设备的类似程序上,出现了几行反馈(见下文),为什么在我的情况下这个变量为空?
出现在其他程序上的行:
代码:
c# - 每行换行而不是每个字符?
从变量中的串行端口接收的数据myReceivedLines
(下面的代码)显示每个字符的新行,而不是每个“句子”的逐行显示。
有没有办法让“句子”出现在单独的行上而不是字符上?