iCAx开思网

标题: UG的UF_allocate_memory与UF_STYLER_free_value [打印本页]

作者: HH2050    时间: 2005-4-5 16:59
标题: UG的UF_allocate_memory与UF_STYLER_free_value
char ** a= (char **) UF_allocate_memory( n_lines * sizeof(char*),[$error )]  
UF_STYLER_free_value (*a);
为什么内存按apply控件的对话框会消失呢?是释放内存的错误还是分配内存引起的问题? 请高手指教!
作者: HH2050    时间: 2005-4-5 17:02
char ** a= (char **) UF_allocate_memory( n_lines * sizeof(char*),[$error )]  
------------
UF_STYLER_free_value (*a);  
为什么按apply控件时对话框会消失,再次进入对话框再按apply 的时候就不会出现这样的情况?是释放内存的错误还是分配内存引起的问题? 请高手指教!
作者: spline    时间: 2005-4-5 17:34
先看看错误信息。
我觉得你释放的东西不对,是应该释放*a?。
这些内存的操作可以用new 和 delete这样操作可以简单一些。
作者: spline    时间: 2005-4-5 17:42
重大机械学院的兄弟吧!
看着这个IP就有一种亲切感!兄弟要多努力哟!
作者: HH2050    时间: 2005-4-6 08:37
不是兄弟啦,是姐妹哈!斑竹不会也是重庆的吧?
这次也是一个项目需求,才接触二次开发,确实很多函数都不懂!还请多多指点迷津!
作者: HH2050    时间: 2005-4-6 08:52
这个函数在本程序中主要适用于设置多行文本的操作内容,要开辟一个char**数组,每个元素指向一个char*字符串,代表多行文本的一行,将其付给赋给控件的 .value.string
用函数
char ** a= (char **) UF_allocate_memory( n_lines * sizeofchar*),[$error )]  
------------  
UF_STYLER_free_value (*a);  
链接时没警告,编译时有2个警告:            
D:\ceshi\2\1_template.c(433) : warning C4013: 'UF_STYLER_set_value' undefined; assuming extern returning int
  
D:\ceshi\2\1_template.c(437) : warning C4133: 'function' : incompatible types - from 'char *' to 'struct UF_STYLER_item_value_type_s *'
头文件<uf_styler.h> 已经包含了的,之后问题就会反映在第一次按apply控键时,对话框消失。
作者: HH2050    时间: 2005-4-6 10:40
终于找到解决办法了
#ifndef UF_SYYLER_INCLUDED
#define  UF_SYYLER_INCLUDED
--------
#endif
但是第一次按apply控键时,对话框消失。不知道是怎么回事?




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3