teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

コード追加

2021/01/27 04:23

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,53 @@
28
28
  ```
29
29
 
30
30
  追記
31
- unsigned charへの変換方法がわかれば解決できそうですがどうすれば良いでしょうか?
31
+ unsigned charへの変換方法がわかれば解決できそうですがどうすれば良いでしょうか?
32
+
33
+
34
+ 追記2:もう少しコード流れ詳細を記載してみます
35
+
36
+ ```ここに言語を入力
37
+ pkno = int(sys.argv[1]) #unsigned short
38
+ gno = int(sys.argv[2]) #long
39
+ name = sys.argv[3] #unsigned char ← これが問題
40
+
41
+ #構造体利用
42
+ set_data = sms.MAZ_TDALL()
43
+
44
+ set_data.tdata[0].td_common.pkno = pkno
45
+ set_data.tdata[0].td_common.gno = gno
46
+ set_data.tdata[0].td_common.name = name ← これが問題
47
+
48
+ w_td = sdk.maz_set_tool_data(0, tno, set_data) 
49
+
50
+ ※構造体定義は下記のような感じ(抜粋)
51
+ class MAZ_TD_COMMON(Structure):
52
+ _fields_ = [("name", c_ubyte),
53
+ ("pkno", c_ushort),
54
+ ("gno", c_long),
55
+
56
+
57
+ ※上記、利用先のmaz_set_tool_data関数
58
+ def maz_set_tool_data(self, head, tno, data):
59
+ result_dict = {
60
+ "status": None,
61
+ "error": None
62
+ }
63
+
64
+ self.sdk.MazSetToolData.retype = c_int
65
+ self.sdk.MazSetToolData.argtypes = (
66
+ c_ushort, c_ushort, c_ushort,
67
+ POINTER(sms.MAZ_TDALL), POINTER(sms.MAZ_TD_ERRORALL))
68
+
69
+ error = sms.MAZ_TD_ERRORALL()
70
+
71
+ result_dict["status"] = self.sdk.MazSetToolData(
72
+ self.hndl, head, tno, byref(data), byref(error))
73
+
74
+ result_dict["error"] = error
75
+
76
+ return result_dict
77
+
78
+
79
+
80
+ ```

1

コメント追記

2021/01/27 04:23

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -25,4 +25,7 @@
25
25
  pkno = 0
26
26
  tno = 119
27
27
  gno = 0
28
- ```
28
+ ```
29
+
30
+ 追記
31
+ unsigned charへの変換方法がわかれば解決できそうですがどうすれば良いでしょうか?