Anonymous
но он верный, а знач ошибка не тут
Anonymous
если бы он был неверен, ты бы не получил путь
Anonymous
может файл открываться не с первого раза? скажем потому что уже открыт?
Anonymous
и в правах на открытие у тебя не указан SHARE_DENY_NONE
Anonymous
или нечто подобное
Stanislav
вот у меня есть подозрения что винда не оч себя ведет если изнутри пытаться взять хэндл на себя же
Anonymous
файл может не открываться, если уже открыт другим логером
Stanislav
при чем тут логгер? я хочу получить хэндл своей либы
Anonymous
ты это сделал, не циклись на этом
Anonymous
логер при том что если файл не открылся, потом попытка открыть его снова - хлоп ошибка от getlasterror
Anonymous
да, может
Anonymous
потому что при открытии файла создается хэндл
Anonymous
стоп, выходит что твой логер вообще работает неверно
Stanislav
а GetLastError() на открытие файла реагирует поди?
реагрует, но, вот если смотреть по коду есть LoadLibrary после него пишется "ошибка 0 у вас все хорошо"
Anonymous
он срабатывает на открытие файла
Anonymous
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365430(v=vs.85).aspx
Stanislav
открытие файла срабатвает позже
Anonymous
смотри, HFILE это хэндл, если чтение сводится к тому что вызвается эта апи
Stanislav
хфайлов нет
Anonymous
но он же должен как-то открыться
Anonymous
я предполагаю что он работает в итоге через эту апи
Stanislav
void write(LogLevel lvl, const char *str) { if (!(lvl >= _level)) return; if (_fp != stdout) { _fp = fopen(log_path, "a"); if (_fp == NULL) { perror("The following error occurred"); return; } } fprintf(_fp, "%s %s\n", Logger::localtime_ms_s().c_str(), str); if (_fp != stdout) fclose(_fp); }
Anonymous
fopen должен давать ошибку в errno
Stanislav
fopen должен давать ошибку в errno
оно пишет куда надо)
Anonymous
хрень какая-то выходит, получается
Stanislav
Stanislav
вот и я сижу думаю уже который день
Stanislav
толи я идиот, толи где
Anonymous
может какие-то другие апи вызываются между записью и WindowsError()?
Stanislav
не
Stanislav
это весь код
Anonymous
а первая либа тебе нужна при этом?
Anonymous
наскок я понимаю ты её подгружаешь, а потом спрашиваешь её путь
Anonymous
путь который ты мог узнать и без этого)
Stanislav
а первая либа тебе нужна при этом?
да, то имя либы моей, т.е. она внутри пытается получить путь к себе
Stanislav
NULL не катит, там к процессу путь
Anonymous
сама к себе?
Anonymous
ага, понятно
Stanislav
сама к себе?
да, либа my_dll просит хэндл на либу "my_dll"
Anonymous
одно могу сказать точно, что если логер работает в потоке, то GetLastError распространяется только на тот поток в котором вызван
Anonymous
pezdec
Stanislav
я не зря поставил комменты же
Anonymous
ладно, а как насчёт такого варианта, что ты грузишь не прокси либу, а ту которую уже подгрузил?
Anonymous
а ну да, опять же не вариант
Anonymous
я понял уже)
Anonymous
может подгружается другая либа по другому пути с тем же названием?
Anonymous
тогда GetModuleHandle может вернуть путь не к той либе
Anonymous
но это всё равно не решает твою ошибку
Stanislav
но это всё равно не решает твою ошибку
угу, ошибка есть, но работает)
Anonymous
можешь юзнуть SetLastError(0,0)
Anonymous
если тебе похуй
Stanislav
нене, мне интересно ) че оно
Square
нене, мне интересно ) че оно
Код работает а ошибка есть?
Square
Логгер это ваш... Оно ж getlasterror в кишках зовёт? Но зачем тебе звать ее если все гут?
Square
Ub
Square
Или я не прав? Надо мсдн внимательно почтать
Square
Чо спите уже? Чорт. Напишите потом как порешалось, мне тож интересно
Anonymous
никак не решилось
Anonymous
я GetLastError обычно только в DEBUG юзаю
Anonymous
Убунту же для тех кто совсем недавно решил попробовать что-то на вкус из unix.
Berkus
а дебиан для тех, кто это говно уже давно жрет, истинно так
Anonymous
Для виндузоидов.
Berkus
это была шутка, если ты вдруг серьезно решился меня поправлять - gentoo для красноглазых школьников-райсеров
Anonymous
чот на слабом пк не получилось за вменяемое время собрать нормальное ядро, для слабого пк
Danil
На дохлом двух поточном атоме ядро в один тред собиралось порядка 20 минут
Anonymous
хуй зна. ssd, 2 ghz*2
Anonymous
сутки почти
Danil
Лолшто
Evgenii
Омг
Anonymous
внатуре
серёжа
о_О