iCAx开思工具箱
标题:
【求助】获取图形中的文字,总是出现内存错误是怎么回事?
[打印本页]
作者:
wdxing
时间:
2003-9-20 11:06
标题:
【求助】获取图形中的文字,总是出现内存错误是怎么回事?
我是用一下一段程序读取图形注释文字的,但是从事出现内存错误,特别是从label_info中获取文字信息时总是得不到,到底应该怎么才能获得文字阿!附读取的UG图形!
UF_initialize();
UF_UI_open_part([$error_handler,file_name,&use_display_file,&part_tag,&response,&part_status)]
if(part_tag!=NULL_TAG)
{
part_tag = UF_PART_ask_display_part();
irc = UF_OBJ_cycle_objs_in_part(part_tag, UF_drafting_entity_type, [$solid)]
do{
UF_OBJ_ask_type_and_subtype(solid, [$type, &sub_type)]
if(sub_type==UF_draft_note_subtype)
{
ifail = UF_DRF_ask_label_info (solid,[$label_origin[0], &label_info )]
temp=label_info->text_info->text->full_string;
uc1601(temp,1);
UF_DRF_free_label( [$label_info )]
}
UF_OBJ_cycle_objs_in_part(part_tag, UF_drafting_entity_type, [$solid)]
}while(solid != NULL_TAG);
}
作者:
pinkwall
时间:
2003-9-20 13:37
UF_DRF_free_label( [$label_info )]
把这句话注释掉 看看
作者:
wdxing
时间:
2003-9-20 18:29
To:pinkwall 谢谢你的回复,但是屏蔽掉那句话还是不好使阿!
作者:
zzz
时间:
2003-9-21 14:55
出错要先看log file中的提示,这样可以很快发现问题出在哪一句话上,已经说了N遍了,看看以前的帖子。
再具体说你的代码,在遍历之前要初始化的,你的solid开始设为NULL_TAG了吗?
作者:
wdxing
时间:
2003-9-21 16:14
To zzz:谢谢斑竹的回复!我确实已经把它初始化了,可是还是出现内存错误!我把我的程序和打开的UG图形放在附件了,麻烦斑竹帮我看看是什么问题!同时附带错误日志(我没能看出是哪儿出了错误)!
作者:
liberty000
时间:
2003-9-22 09:41
我看你 temp=label_info->text_info->text->full_string
这里出问题了。不知对否?
作者:
wdxing
时间:
2003-9-22 13:32
回复:liberty000
就是那句话出现错误!
作者:
gasyu
时间:
2003-9-28 12:04
哪位能告诉我这个错误怎么改吗?
作者:
wdxing
时间:
2003-9-28 14:44
这个问题我解决了,不应该用函数UF_DRF_ask_label_info ,换成函数UF_DRF_ask_draft_aid_text_info就搞定了,你试试吧!
作者:
gasyu
时间:
2003-9-28 20:14
哥们,能不能贴点代码给我,谢谢!
作者:
wdxing
时间:
2003-9-29 09:01
楼上的,你看看下面的代码:
ifail = UF_OBJ_cycle_objs_in_part( UF_ASSEM_ask_work_part(),
UF_drafting_entity_type,
[$draft_aid_tag )]
while(!ifail && draft_aid_tag!=NULL_TAG )
{
ifail=UF_OBJ_ask_type_and_subtype(draft_aid_tag, [$type, &sub_type)]
if(!ifail && (sub_type==UF_draft_note_subtype || sub_type==UF_draft_assorted_parts_subtype) )
{
/* Retrieve the text information of the drafting entity. */
ifail = UF_DRF_ask_draft_aid_text_info ( draft_aid_tag,&num_text,
[$text_info )]
if( !ifail )
{
my_text=text_info->text ;
//用于取出多行的文本
char temp1[200];
for(int i=0;i<text_info->num_lines ;i++)
{
strcpy(temp1,my_text->full_string);
if(i==0)
strcpy(temp,temp1);
else
trcat(temp,temp1);
my_text++;
}
uc1601(temp,1);
/*Free the memory that contains the text information.*/
ifail = UF_DRF_free_text( num_text, [$text_info )]
}
}
UF_OBJ_cycle_objs_in_part(UF_ASSEM_ask_work_part(), UF_drafting_entity_type, [$draft_aid_tag)]
}
作者:
gasyu
时间:
2003-9-29 17:29
谢了wdxing
作者:
zhaoyuan
时间:
2006-3-11 21:24
标题:
关于在打开UG的图形文件
打开UG的文件利用UF_UI_create_filebox,但是如何能看到图形文件的预览preview?
请教各位高手
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3