Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вероятно, эмоции помешали более внятно изложить вопрос.

Значит так: есть такая структура (описанная в Types.h) и переменная ее типа (в Variables.h).


Например, в Settings.cpp
#include "Settings.h"
#include "Variables.h"

использование
edPath->Text = cs.str;
и
cs.str = edPath->Text;
работает отлично.


В определенный момент времени я хочу прочитать значение из поля структуры и преобразовать в null-terminated строку.
Это будет делаться в IForm.cpp:

#include "IForm.h"
#include "Variables.h"

...

char* ArcFile = new char[200];
memset(ArcFile, 0, sizeof(char)*200);
StrPCopy(ArcFile, cs.str);

В cs.str лежит красивая правильная строчка - видно дебагером (это все на Builder C++).
После StrPCopy переменная ArcCopy по прежнему указывает на область, заполенную нулями.

Но случайно пробовал сделать промежуточное присвоение - даже не присваивается!
Вариант 1: String tmp = cs.str;
Вариант 2: edMyTEdit->Text = cs.str;
- один фиг, все пустое. В одной форме присваивается, в другой нет
Ощущаю себя полным профаном

Может, есть какие-то особенности обращения со структурами?

З.Ы. замечание принимаю.
Конечно же, надо проверять длину строки, как и многое другое.

Отправлено: 16:19, 25-02-2005 | #14