Приветствую Вас, Маслов Андрей! Неужели это так трудно отыскать в инете? У меня где-то был, если найду, могу дать, только вот мыло свое ты не оставил. Ответ отправлен: 12.08.2003, 08:19 Отправитель: Marouder Отвечает BOLT
Доброе время суток, Маслов Андрей! Это вам, сэр нужно в рассылку Программирование на Ассемблере.
Да прибудет с тобой Великая Сила!
This message was created by EMan1.4
Ответ отправлен: 12.08.2003, 11:55 Отправитель: BOLT
Вопрос № 998
Здраствуйте Эксперты !!! Подскажите какие опции нужно задать чтобы моя программа запускалась на компе без Builder-a. В рассылке уже был ответ что нужно убрать галочку в Linker->Use dynamic RTL но это не канает
Приветствую Вас, Ilu! Надо убрать не одну, а две галочки (задача усложнилась неимоверно). 1-я - это правильно упомянутая галочка в Linker->Use dynamic RTL, а 2-я - это галочка в Packages->Build with Runtime Packages. Ответ отправлен: 12.08.2003, 09:25 Отправитель: Eugene Отвечает Marouder
Здравствуйте, Ilu! Еще там есть где-то галочка "Build with Run-Time Packages". Ее тоже надо убрать. Ответ отправлен: 12.08.2003, 08:19 Отправитель: Marouder Отвечает Apricot
Доброе время суток, Ilu! На сайте Borland X Portal ответ на данный вопрос опубликован, но сам я не проверял насколько приведенный метод эффективен. Симптомы: Программа, написанная на C++Builder'е, нормально работает на одной машине (например, на которой она скомпилирована), но на других не запускаеться. Требует кучу разных файлов с расширениями .bpl и .dll. Общее: На машине, где не работает программа, не установлен C++Builder или стоит более старая версия. Решение: Требуется в опциях проекта отключить следующие параметры. 1. Project|Options|Linker снять галку Use dynamic RTL 2. Project|Options|Packages снять галку Build with runtime packages. При этом размер исполняемого файла значительно увеличиваеться (может даже в несколько раз). Для сжатия можно использовать специальные компрессоры. 3. Project|Options|Compiler нажмите кнопку
Release. 4. Project|Options|CodeGuard снимите галочку с CodeGuard Validation (кто ее использует) Создал Paul и Holms Ответ отправлен: 12.08.2003, 09:43 Отправитель: Apricot Отвечает BOLT
Доброе время суток, Ilu! Также надо убрать галочку на опции Build with runtime packages, которая находится на вкладке Packages.
Да прибудет с тобой Великая Сила!
This message was created by EMan1.4
Ответ отправлен: 12.08.2003, 11:55 Отправитель: BOLT Отвечает Twilight_Sun
Добрый день, Ilu! Там есть галочка чтобы прикомпиливать все библиотеки в ехешник. Ответ отправлен: 12.08.2003, 16:29 Отправитель: Twilight_Sun
Вопрос № 999
есть класс class c1 { ..... char* a[]; ..... }; Как правильно инициализировать а в конструкторе? (Размеры вектора передаются).
Ответ отправлен: 12.08.2003, 08:56 Отправитель: vitya Отвечает Apricot
Здравствуй, h@Lt! Я так понял тебе нужно создать массив указателей. Как в общем случае так и в твоем это делается следующим образом. class c1 { unsigned size_a; char *a[]; public: c1(unsigned size); ~c1(); }; c1::c1(unsigned _size_a) { size_a=_size_a; *a=new char[size_a]; for(unsigned i=0;i a[i]=new char; } c1::~c1() { for(unsigned i=0;i delete a[i]; delete a; } Пример работы ... c1 *x=new c1(3); strcpy(x->a[0],"AAA"); strcpy(x->a[1],"BBB"); strcpy(x->a[2],"CCC"); ...
Ответ отправлен: 12.08.2003, 10:24 Отправитель: Apricot Отвечает DiGiT[old]
Приветствую Вас, h@Lt! Наверное a=NULL или a= new char*[размер массива] ? Ответ отправлен: 12.08.2003, 12:15 Отправитель: DiGiT[old] Отвечает BOLT
Доброе время суток, h@Lt! Вот так:
class c1 { private: char * a; public: c1() { a = new char[10];}; //конструктор с инициализацией ~с1(){delete [] a;}; //деструктор - освобождает выделенную конструктором память };
Да прибудет с тобой Великая Сила! This message was created by EMan 1.4
Ответ отправлен: 12.08.2003, 15:44 Отправитель: BOLT Отвечает Twilight_Sun
Приветствую Вас, h@Lt! Это ж у тебя массив строчек я так понял. Все зависит для чего ты его используешь. Во первых конструкцию [] без указания размера использовать тут нельзя (без указания елеметнов массива явно, у тебя получается массив нулевой длины). А лучше по-человечески : class c1{ char** a; public: c1(int N){ a=new char*[N]; for(int k=0;k }; }; Память под сами строки тут не выделяется, а только под массив, впиши если надо или спроси, если не знаешь
Приложение: Ответ отправлен: 12.08.2003, 16:17 Отправитель: Twilight_Sun
Вопрос № 1000
Здравствуйте эксперты. Собрался было изучать MFC, начал собирать материал. Частенько попадаются статьи в которых говориться, что MFC устарела, что при разработке проектов ее лучше не использовать, а использовать альтернативные средства. Хотелось бы узнать, стоит ли ее изучать, и что вы используете, если конечно используете, как альтернативу MFC
Здравствуйте, stranger! На мой взгляд лучше пользоваться API, это очень гибкое "средство", а МФЦ на мой взгляд, пробуждает в програмере лень, есть одно исключение - если программер знает АПИ, достаточно обучен, и ему нужно срочно что то написать, тогда можно и за мфц браться. Ведь МФЦ построено на АПИ, только с ООП. Я вообще с асма начинал ;)) Ответ отправлен: 12.08.2003, 12:05 Отправитель: [L2]Max Отвечает DiGiT[old]
Доброе время суток, stranger! Да стоит. В винде при разработке приложений на скорую руку очень удобная вещь. Для разработки более тяжелых приложений где важна суть лучше использовать ATL+STL,хотя от MFC имхо тоже не стоит уходить дабы не попасть в дебри низкого прогораммирования. Ответ отправлен: 12.08.2003, 12:10 Отправитель: DiGiT[old] Отвечает BOLT
Добрый день, stranger! 1)Нифига она не устарела. Бред сивой кобылы! 2)Альтернативой можно считать VCL от Borland. 3)Конечно стоит!
Да прибудет с тобой Великая Сила! This message was created by EMan 1.4
Ответ отправлен: 12.08.2003, 15:44 Отправитель: BOLT Отвечает Twilight_Sun
Здравствуйте, stranger! Устарела, не устарела, - а хоть немного изучить надо. А вообще это дело вкуса: я лично MFC не люблю. Ответ отправлен: 12.08.2003, 15:57 Отправитель: Twilight_Sun Отвечает Yuri Gordienko
Приветствую Вас, stranger! Отвечаю абсолютно объективно и без всяких предубеждений. Когда-то я писал на MFC, затем я стал писать на Qt-from Trolltech и сразу понял, что только идиоты могли эту MFC так спроектировать. Что не решение - то нарушение общепринятых правил ООП (которые кстати не от фонаря возникли), механизм создания и перехвата сообщений мягко говоря нехороший. Короче говоря поймешь, когда попробуешь что нибудь другое. Честно говоря, я бы очень хотел, чтобы мои слова были неправдой, т.к. MFC есть в каждом VC, но ... А учить его нужно, т.к. многие конторы на нем пишут и тенденция, я думаю, сохранится. Успехов
Ответ отправлен: 14.08.2003, 15:55 Отправитель: Yuri Gordienko
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.