Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 7 из 32<  1 ... 4  5  6  7  8  9  10 ... 32  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 10.03.2004
Откуда: Минск
Я что-то ни сильно понимаю, зачем Managed C++ вообще нужен? Ведь под .Net есть замечательный во всех отношениях C#. А под Win32 обычный C++.



Партнер
 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
force_sk ну он нужен собственно чтобы строить мост между проектами на C++ и C#, допустим для экспорта классов и т.д.

_________________
Ку ку


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Вопрос по поводу потоков:
Значит имеется SysTreeView32. В него выводим дерево каталогов. Есть одна фигня, которая сильно мешает(и которая присутсвует даже у виндовсэксплорера): иногда(иногда часто :) ), при опросе сетевого каталога, функции FindFirstFile, FindNextFile и PathFileExists сильно морозят, останавливая выполнение программы. Частично решил запуск процедуры сканирования в отдельном потоке. Но хочется чтобы можно было, по желанию, остановить поток(или каким нибудь образом прервать выполнение вышеназванных функций). В этом собственно и вопрос - как?


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
mein а что если через TerminateThread?

_________________
Ку ку


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Daemon писал(а):
а что если через TerminateThread?

вот выдержка из мсдн:
Цитата:
Remarks
TerminateThread is used to cause a thread to exit. When this occurs, the target thread has no chance to execute any user-mode code and its initial stack is not deallocated. DLLs attached to the thread are not notified that the thread is terminating.

TerminateThread is a dangerous function that should only be used in the most extreme cases. You should call TerminateThread only if you know exactly what the target thread is doing, and you control all of the code that the target thread could possibly be running at the time of the termination


Поэтому весь поток убивать неохота. Попробую для начала только на PathFileExists (если ей дать несуществующий айпи, то замирает) - как больше всего мне делающей проблем.


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
mein ну так почему бы не выход, даже если есть опасность? :-) В твоем случаи поток умирает на время в виндовых дллках, проще его убрать, чем терпеть тормоза и провоцировать тормоза остальной системы, ИМХО.

_________________
Ку ку


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Вроде получилось. Правда не знаю как оно (ядро) там в глубине дээлелек себя чувствует от такой котлеты :D .


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Тут ещё один вопросик по темам WindowsXP. Пишу прогу на MFC (Studio 2003). Сам я не любитель(мягко сказано) "новогодней ёлки" за рабочим местом, поэтому все темы отключаются в первую очередь. Значит вот прога обретает некий внешний вид и вроде всё замечательно, но если запустить её на "зараженном" ( :) ) темой(проверил на луне) винде, то моя замечательно смотревшаяся программа выглядит несколько подпорченной. В частности (и меня просто бесит - каким надо было быть дебилом чтобы додуматся до такого) в новом оформлении при равных внешних размерах окна клиентская(рабочая) область уменьшена (я борюсь за каждый милиметр рабочего пространства, а тут просто на какой-то мусор его бездарно тратят). Соответсвенно некоторые элементы моего(не резайзющегося окна) сдвигаются и некоторые просто не вмещаются. Ну а теперь вопрос: как зделать так, чтобы программа не обрастала темой при запуске или чтобы с темой, но работала правильно?

зы: сорри за излишнее выражение чувств :)


 

Visual C++ .net
Дан файл со строками.

Программа:

String ^input = "input.txt";
StreamReader ^input_f = gcnew StreamReader( input );
text = input_f->ReadLine();

При считывание строки "Авто" на русском(кириллица),
переменной text присваивается пробел (а должно "Авто"). text = " "?????????
А с английским все нормально!
Как сделать, чтобы кириллица(русский алфовит), присваивался переменной???????????


 

Member
Статус: Не в сети
Регистрация: 07.02.2004
Откуда: Свердловская...
Misteras2003
С русскими переменными в программировании никто не работает. В онгл достаточно букв, так что юзай.
С русским вроде никак...

_________________
Если надпись на мониторе уменьшается, то ваш монитор уносят.


 

Member
Статус: Не в сети
Регистрация: 24.09.2004
Откуда: Belarus, Mensk
dimonpc2004 писал(а):
С русскими переменными в программировании никто не работает.


Причем тут русские переменные, когда человек файл читает? Кстати, помнишь как поступали русские версии Visual Basic с элементами управления? :)

Misteras2003 Просто выставь Stream нужную кодировку. http://www.gotdotnet.ru/DotNet/FAQ/Comm ... p/453.aspx

dimonpc2004 писал(а):
С русским вроде никак.


Еще как :) Компилер то в Unicode работает.

_________________
ruSpiegel.net - русское зеркало дотнета
Ваши любимые статьи и блоги, посвященные Microsoft .NET Framework, теперь и на русском языке.


 

Member
Статус: Не в сети
Регистрация: 07.02.2004
Откуда: Свердловская...
eisernWolf
О, теперь понял:)
Misteras2003
Сори за ложную инфу...

_________________
Если надпись на мониторе уменьшается, то ваш монитор уносят.


 

Дан файл(в строке первое значение - число, второе - слово, третье - чаровский):

234 слово1 s
5345 слово2 d

надо взять из файла значения так что:

int q1, q2;
q1=234;
q2=5345;

String ^s1, ^s2; //("^"="*")
s1="слово1";
s2="слово2";

char ch1, ch2;
ch1=s;
ch2=d;


Программа:

String ^input = "input.txt", ^output = "output.txt", ^text;
int q1, q2;
String ^s1, ^s2;
char ch1, ch2;

if (File::Exists( input ))
{
if ( File::Exists( output ) )
{
File::Delete( output );
}
StreamWriter ^output_f = gcnew StreamWriter( output );
StreamReader ^input_f = gcnew StreamReader( input );
try
{
////////////////////////////////////////////////////////////////////////

//Как сделать, так чтобы считывать строку поочередно( 1)234, 2)слово1, 3)s 4)Уход на новую строку )????????
//Внизу код считывает всю строку, а затем надо обрабатывать эту строку.

while ( text = input_f->ReadLine() )
{
//обработка строки
}


///////////////////////////////////////////////////////////////////////
}
finally
{
delete ( input_f );
delete ( output_f );
}
}
:):):)


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Работаю в Visual Studio 2003 V7.1.3088 . Щас есть проэкт с десятком диалогов парочка из которых достаточно насыщены. Вот сегодня понадобился ещё один простенький диалог прикрутить и возникла проблема(она и раньше возникала, но легко решалась) и я скоро начну ломать близлежащие предметы :) . В общем редактор ресурсов глючит. Значит добавляю новый диалог и начинаю на него накладывать элементы, время от времени проверяя по [Ctrl+T]. В какой-то момент текст одного из контролов становится нулём ( пример: ставил static с тектом "xxx", а получил "0" )? причём это наблюдается только при преддпросмотре или уже в работе программы. Не помогает даже програмная смена текста - всё равно остаётся "0". Если "больной" элемент удалить и создать точно такойже то "заболевает" один из соседних элементов и так замкнутый круг.
Может кто-то встречался с таким?!
Добавлено спустя 50 минут, 21 секунду
Всё разобрался: к таким последствиям приводило выставление свойства "Auto Buddy" у спинбуттона. Правда почему так - не представляю.


 

Advanced member
Статус: Не в сети
Регистрация: 20.11.2004
Фото: 23
Вопрос, как при объявлении переменной-union задать значения произвольных полей? В исходниках линукса используется фишка вида:
Код:
struct A a = {.field1=1; .field3=3;}

В vc такое не катит :(

И еще вопрос, можно ли задавать в структуре значения по-умолчанию. Без применения объектов.


 

Member
Статус: Не в сети
Регистрация: 28.03.2006
CoolCmd

Ну а зачем люди конструкторы-то придумали ?

_________________
Первый огонь был получен людьми из-за перегрева.
Пессимист отличается от оптимиста датой наступления конца света.


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
CoolCmd это что за художества? :D
Цитата:
И еще вопрос, можно ли задавать в структуре значения по-умолчанию. Без применения объектов.
Да, можно статическим константам.
Код:
struct A
{
   static const int a;
};
const int A::a = 6;

_________________
Ку ку


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Есть такой код:
Код:
   LPBITMAPINFOHEADER lpbi; 
   // Получение данных из потока
   lpbi = (LPBITMAPINFOHEADER)AVIStreamGetFrame(pgf, frame);
   // (Пропуск заголовка для получения указателя на данные)
   pdata=(uchar *)lpbi+lpbi->biSize+lpbi->biClrUsed * sizeof(RGBQUAD);
   // и например отображаем картинку...

pdata объявлен как глобальный указатель. По идее нужно освободить память отведённую функцией AVIStreamGetFrame. Т.е. функция возвращает указатель на структуру, а вслед за структурой ещё и данные идут(размер данных я знаю). Каким образом это можно сделать? Мсдн скромно умалчивает по этому поводу(там вообще ничего не понятно :) ).


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
mein Думаю что нибуль AVIStreamFreeFrame

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
nickyoz
Есть другая функция AVIStreamGetFrameClose, но она является парой для AVIStreamGetFrameOpen. Я пробовал комбинацию
Код:
AVIStreamGetFrameOpen
AVIStreamGetFrame
// рисуем фрэйм
AVIStreamGetFrameClose

но она очень медленная, поэтому нужно один раз открыть и потом только выбирать(AVIStreamGetFrame) фрэймы. Получается быстро, но если глянуть на выделение памяти программой во время сика(слайдером мотать туда-сюда), то начинают волосы шевелится не только на голове :) .
Хотя Может это и нормально. Вот что пишут про AVIStreamGetFrame
Цитата:
Remarks
The returned frame is valid only until the next call to this function or the AVIStreamGetFrameClose function.

По ходу функция сама занимается памятью и ей не надо мешать?


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 7 из 32<  1 ... 4  5  6  7  8  9  10 ... 32  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan