}
else
{
- if(!strcmp(memberType.name, "String"))
+ if(!strcmp(memberType.name, "String") || memberType.type == normalClass || memberType.type == noHeadClass)
{
- memberType._vTbl[__ecereVMethodID_class_OnSerialize](memberType, *(String *)((byte *)data + member._class.offset + member.offset), channel);
+ memberType._vTbl[__ecereVMethodID_class_OnSerialize](memberType, *(void **)((byte *)data + member._class.offset + member.offset), channel);
}
else
memberType._vTbl[__ecereVMethodID_class_OnSerialize](memberType, ((byte *)data + (((member._class.type == normalClass) ? member._class.offset : 0) + member.offset)), channel);
{
row.Add();
row.SetData(dropBox.nameField, entry);
+ return true;
}
}
{
if(listSection.fldId && listSection.fldName)
{
+ bool stringName = !strcmp(listSection.fldName.type.dataTypeString, "char *");
while(r.Next())
{
Id id = 0;
String s = null;
r.GetData(listSection.fldId, id);
- r.GetData(listSection.fldName, s);
+ if(stringName)
+ r.GetData(listSection.fldName, s);
+ else
+ s = PrintString("Entry ", id);
listSection.list.AddString(s).tag = id;
delete s;
}
id = curID;
else
r.SetData(fldId, id);
- }
- r.SetData(fldName, "[New]");
+ }
+ if(!strcmp(fldName.type.dataTypeString, "char *"))
+ r.SetData(fldName, "[New]");
+
if(fldActive)
r.SetData(fldActive, active);
void EditSave()
{
+ bool stringName = !strcmp(list.fldName.type.dataTypeString, "char *");
OldLink link;
String name = null;
// ADDED THIS HERE FOR SQLITE TO REFRESH
editRow.Find(list.fldId, middle, nil, list.list.currentRow.tag);
- editRow.GetData(list.fldName, name);
+ if(stringName)
+ editRow.GetData(list.fldName, name);
+ else
+ name = PrintString("Entry ", list.list.currentRow.tag);
NotifyEditSave(master, this, name);
delete name;