|
|
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Народ! Подскажите, как можно увеличить размер CString? Можно ли как-нибудь указать его явно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 11:10 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
char chData[255]="asasasa...asasasa"; CString s; strcopy(s.GetBuffer(255),chData); s.ReleaseBuffer(); или s.ReleaseBuffer(255); если не уверены, что помещённая внутрь строка будет null-terminated. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 11:31 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Дело в том, что мне нужно изначально установить размер CString, а потом уже производить с ним различные операции (+, присваивание и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 11:53 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
AllocBuffer(int nLen) или AllocBeforeWrite(int nLen) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:29 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Даже если я пытаюсь работать изначально например с char arr[1024] - все равно массив обрезается на 255! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 13:46 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
подробнее: char chData[1024]="asasasa...asasasa"; CString s; char* chPointerToInternBuffer=s.GetBuffer(1024);//задаём размер внутреннего буффера 1024 и получаем прямой указатель на него. strcopy(chPointerToInternBuffer,chData);//копируем в него данные s.ReleaseBuffer();//сообщаем о завершении прямой работы с буффером и позволяем CString-у самому узнать длину записанной строки с помощью вызова strlen (для этого нужно быть уверенным, что строка заканчивается на 0) или s.ReleaseBuffer(1024); если не уверены, что помещённая внутрь строка будет null-terminated, то сами указываем длину скопированных данных. Но думаю, что даже если задать ему размер буфера, то при присвоении короткой строки он всё равно обрежется, так что есть ли смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 14:03 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Fara Ты бы привёл кусок текста программы, который не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 15:15 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Смысл то есть. Мне необходимо создать таблицу с некоторым, достаточно большим, набором полей в dbf. Но видимо ExecuteSQL все равно давится на определенном кол-ве символов. Не знаете, как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 15:16 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Fara А как ты узнал, что она обрезается на 255м символе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 15:34 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Методичным топаньем по дебагеру и просмотром присвоения всех символов:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 15:43 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Что значит " просмотром присвоения всех символов "? Ты написал в цикле переприсвоение всех символов строки в отдельную односимвольную переменную и просматриваешь её? Или всё-таки смотришь всю строку в отладчике? Если второй вариант, то у меня для тебя хорошая новость: отладчик показывает не всю CString, это я видел неоднократно. Насчёт ровно 255 не поручусь, но не всю. Выведи в MessageBox. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 16:09 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Если хочешь видеть в отладчике, присвой другой CString куски по 255 длине. И увидишь чудо :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 16:23 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Спасибо за информацию:) Ошибку все равно пришлось обходить, потому что ExecuteSQL не ест длинные строки:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 18:40 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
"потому что ExecuteSQL не ест длинные строки:(" Да ест он и ещё как ;) а CString я заполняю через CString.Format(), пока не подводил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 10:24 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Да, ест, неоднократно делал. Ты бы всё-таки привёл этот SQL, и что за сообщение об ошибке. Источник, говоришь, dbf-овский? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 15:58 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
ExecuteSQL у меня нормально все ест при работе с тем же SQL Server, а вот с dbf не хочет. такое ощущение, что просто база не принимает. ибо выдает синтаксический егор на запросе. А при сокращении длины запроса все работает нормально. Приходится выдавать ему кусками. а это тормозит естественно сильно:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 18:26 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Ну по крайней мере CString реабилитирован :) Почему ты не хочешь привести SQL-выражение? Оно у тебя что, с секретной правой частью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 20:46 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Да просто в нем нет ничего выдающегося:)) "create table ttt (..." а дальше строится динамически, в зависимости от входных данных (имеется ввиду кол-во колонок, название и тип.) Если я подставляю одну-две колонки (с любыми типами и именами) - все ок. А если больше - все умирает. и приходится потом мучится с alter table... add:(((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 09:41 |
|
||
|
размер CString
|
|||
|---|---|---|---|
|
#18+
Да просто в нем нет ничего выдающегося Есть, раз он не выполняется. В общем, твоё дело, ты мучаешься, не я. Но если бы ты его прислал, я бы смог проверить, а так остаётся только сказать "так не бывает". Функция для трассировки длинных строк прилагается :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2003, 12:40 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32269598&tid=2035991]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 320ms |

| 0 / 0 |
