Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2] 3 4  Все   Вниз
  Печать  
Автор Тема: Несколько вопросов по поводу Visual C++  (Прочитано 74131 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #30 : 18-09-2009 11:21 » 

Смотри библиотеки ADO, по крайней мере в ADO.NET я точно знаю, что была возможность подключения. Или зайди на сайт Sun и посмотри у них?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #31 : 18-09-2009 14:59 » 

.NET  мне вроде не надо Улыбаюсь (Боже упаси!!!) , а что за сайт Sun ?
Записан

Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #32 : 18-09-2009 15:14 » 

Sun Microsystems довольно известная фирма, в прошлом году они купили MySQL. http://www.sun.com/


PS Вот нашел http://dev.mysql.com/downloads/connector/cpp/1.0.html
« Последнее редактирование: 18-09-2009 15:28 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #33 : 18-09-2009 15:37 » 

что то нашёл вот тут
http://developers.sun.com/downloads/new.jsp

но качать буду только в понедельник, дома трафик жаль )
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #34 : 18-09-2009 15:37 » 

вау, Финч, спасибо )
Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #35 : 20-09-2009 10:22 » 

Цитата: Finch
Sun Microsystems довольно известная фирма, в прошлом году они купили MySQL.
А потом Oracle купил их обоих Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #36 : 20-09-2009 10:27 » 

да мне, в принципе, по барабану, кто там кого купил Отлично Лишь бы бесплатно их трудами попользоваться Ага
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #37 : 25-12-2009 04:09 » 

сумел сконвертировать большой проект из 6 в 9 Улыбаюсь Это, оказывается, всё-таки возможно. Только косметические погрешности пришлось пол ночи править, а в остальном - всё без боли)

Поменялось (из запомнившегося):
1) ну, естественно, ругань на strcpy и подобные (где длина массива явно не указана)
2) в классах CDataBase и CRecordset - когда возвращается набор записей, для строк VARCHAR тип имеет значение DBVT_ASTRING (а в 6 было DBVT_STRING)

3) ну и мелкие придирки по приведению типов
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #38 : 25-12-2009 08:11 » 

вот и не знаю даже, на что теперь списать, но происходит следующая жопа :

Любителям списков инициализации посвящается.

есть структура
Код:
		struct A
{
WORD m_w;
const void* m_v;
DWORD m_dwd;

A(WORD w,const void* v,DWORD dwd)
:m_w(w)
,m_v(v)
,m_dwd(dwd)
{
}
};

1)
Код:
A a(0x2233,(void*)0x44556677,0x8899aabb);

//имеем в озу
33 22 cc cc 77 66 55 44 bb aa 99 88

//в человеческом виде:
a.m_w==0x2233;
a.m_v==0x6677cccc; //cccc - это дебажный мусор; из-за от выравнивания
a.m_dwd==0x5544bbaa;


2)
делаем выравнивание
Код:
#pragma pack(push,1)
struct A
{
...
};
#pragma pack(pop)

Код:
A a(0x2233,(void*)0x44556677,0x8899aabb);

//имеем в озу
33 22 77 66 55 44 bb aa 99 88

//в человеческом виде:
a.m_w==0x2233;
a.m_v==0x44556677;
a.m_dwd==0x8899aabb;
-теперь всё нормально.

Этот "говнозаезд" происходит не повсюду в программе, а конкретно в одном месте (файле).
Почему - пытаюсь понять уже день ((


А, да, студия № 2008 (VS9)


ps извиняюсь перед девушками за ругань
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #39 : 25-12-2009 08:27 » 

в 6-й студии, похоже, это тоже было. Думал - глюки компилятора (ну так и выходит )) ), поэтому поднатужился и конвертировал в 9-ю студию (бубен спас Улыбаюсь ). А тут на те...
Записан

lapulya
Молодой специалист

ru
Offline Offline

« Ответ #40 : 25-12-2009 14:26 » 

Алексей1153++, сколько битное приложение и ОС?
void * p = (void *)0x44556677;
чему равно p?
Записан

С уважением Lapulya
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #41 : 26-12-2009 02:54 » 


Всё 32-битное.

p==0x44556677 естессно Улыбаюсь
Записан

lapulya
Молодой специалист

ru
Offline Offline

« Ответ #42 : 26-12-2009 12:06 » 

Алексей1153++, Хммм, а так (хотя это одно и то же)?

void * p = (void *)0x44556677;
A a(0x2233, p, 0x8899aabb);

Короче очень странно (перезагрузка + ребилд ол = точно не помешают).
Записан

С уважением Lapulya
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #43 : 26-12-2009 15:07 » 

lapulya, у меня подозрение на другое - где-то инклуд вставляется два раза, причём где-то под разными pragma pack. (это, кстати, тот самый мутный большой проект, про который я говорил )) ) . Сейчас искать это некогда, сразу не обнаружилось. Пока обошёлся заколдовыванием всего проекта на выравниванием по 1.

Кстати, а прагма pack влияет на выравнивание только элементов класса, или ещё и на размещение параметров функции в стеке ?
Записан

lapulya
Молодой специалист

ru
Offline Offline

« Ответ #44 : 26-12-2009 19:19 » 

По идее только в структуре и в классе, но точно не помню (я ж теоретик лет 5 - 6 как Улыбаюсь )

Кстати, если сроки горят и уже занесен серп над .... над ними... то все средства хорошо, но такую жопу надо исправлять в первый же свободный момент (все что не понятно и должно работать, но не работает и все что работает, но непонятно почему, должно быть переписано ИМХО)

Смени название класса (можно для верности сменить название файла, в котором он объявлен)
« Последнее редактирование: 26-12-2009 19:25 от lapulya » Записан

С уважением Lapulya
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #45 : 27-12-2009 03:01 » 

конечно, на досуге поищу косяк
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #46 : 27-12-2009 04:08 » 

Нашёл место возможного источника глюка:

незакрытая прагма с единичкой
(завтра на работе убедюсь, но вроде это оно)

Код:
#pragma pack(push, 1)
//структуры
...
...

//тут пропущен pragma pack(pop) !!!

//а тут как раз инклуд, где галиматья и возникает
#include "xxxx.h"

...
...
Записан

lapulya
Молодой специалист

ru
Offline Offline

« Ответ #47 : 27-12-2009 22:28 » 

Ппц во люди пишут... поди потом разберись...
Записан

С уважением Lapulya
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #48 : 12-02-2010 11:00 » 

В связи с тем же переходом с 6 на 9.

Имеется такая система окошек:

CWnd A; //CMainFrame
CWnd B; //немодальный CDialog

B.Create(&A,...); //A - родитель для B

тут A и B могут "независимо" друг от друга двигаться по экрану и получать фокус.

CDialog C(&B); //модальный диалог, B - родитель для C
C.DoModal();

Теперь самое имнтересное:
 в студии 6 было так:
B блокировано, а C и A - "независимо" друг от друга работают.

В студии 9, видать, глюк исправили: теперь A и B блокируются при открытии С .

А клиент привык, что A доступно во время работы C! А как этого теперь добиться, я понять не могу Отлично
« Последнее редактирование: 12-02-2010 11:05 от Алексей1153++ » Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #49 : 12-02-2010 12:10 » 

Лёш, кинь тестовый проектик. Хочу попробовать одну штуку, а набирать времени нет.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #50 : 12-02-2010 15:33 » 

Джон, щас, сделать нужно. А тебе в какой студии ? Улыбаюсь Ну я, собственно, сделаю в 6, потом портирую в девятку
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #51 : 12-02-2010 16:11 » 

1) блин, так приятно всё в шестой версии сделано, я уж и забыл Улыбаюсь Всё быстро, удобно, всё под рукой, вай вай....  Только подсказки не всегда выползают )))

2) кое-что обнаружил, исследую Улыбаюсь
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #52 : 12-02-2010 17:20 » 

результаты вскрытия:

1) студия №6: если создавать немодальный диалог в конструкторе родительского окна (указав this), то модальный диалог C не блокирует окно A . Если же создавать в OnInitialUpdate (или OnInitDialog) , то всё блокируется как надо

2) студия №9: разницы от места создания диалога нету

* ABCmodal.rar (76.57 Кб - загружено 875 раз.)
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #53 : 12-02-2010 17:37 » 

Мне в 9ой, в 6ке же всё "работает".
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #54 : 12-02-2010 17:40 » 

Блин, а у меня дома её нету... Жаль
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #55 : 12-02-2010 17:42 » 

В 2005 студии заперто всё. А В С.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #56 : 12-02-2010 18:36 » 

В 2005 студии заперто всё. А В С.

не спорю, хотя я там не пробовал Улыбаюсь Вопрос в том, как повторить этот глюк в 2008-й (или в 2005) студии ? Я даже стили и EX стили окошек распечатал - они одинаковые в обоих случаях
Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #57 : 12-02-2010 19:27 » 

Ну сделай так, чтобы A не был родителем B, раз тебе надо, чтобы A не блокировался.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #58 : 12-02-2010 19:33 » 

хм, попробую ) Я 0 подставлял - результат не менялся, но 0 - это, наверное, эквивалентно главному окну приложения
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #59 : 12-02-2010 19:50 » 

неа, дохлый номер Улыбаюсь Оно и понятно: если родителем сделать некое левое окно X, то у него тоже указывается родитель. А это блокирует главное окно всё равно при открытии модального окна
Записан

Страниц: 1 [2] 3 4  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines