Сейчас на форуме: (+9 невидимых)

 eXeL@B —› Крэки, обсуждения —› Help with Delphi.
Посл.ответ Сообщение


Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 12 декабря 2004 12:14
· Личное сообщение · #1

Пацаны, решили с командой прогу писать, а тут проблема. Качать : diprog.x2rus.ru/Project-Unicorn.rar
Вобщем, запускайте прогу, жмите на кнопку и прога вылетит, посмотрите сырцы, где глюк, сначала был в стеке, выровнял, а сейчас?



Ранг: 0.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 12 декабря 2004 12:55
· Личное сообщение · #2

Сорри конечно, но это ж полный бред - запускать длл(чужую?), потом писать в файл возвращаемую таблицу процессов и уже после пытаться загрузить ее в мемо. Во-первых зачем так извращаться? Не проще самому, через Toolhelp/ZwQuerySystemInformation/PSAPI etc. ?
А во-вторых там ведь имя процесса чередуется с PID, и как ЭТО загрузится в мемо??




Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 12 декабря 2004 13:01
· Личное сообщение · #3

XaErO пишет:
Toolhelp/ZwQuerySystemInformation/PSAPI etc

Эта прога в будущем универсальный загрузчик длл, мне надо загрузить длл, (потом длл будет возвращать нормальный текст).



Ранг: 0.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 12 декабря 2004 13:16
· Личное сообщение · #4

Ну дак все нормально вроде с длл. Файл нормально создается. Вылетает Exeption при попытке загрузки текста в мемо. Вроде в этом проблема.




Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 12 декабря 2004 13:18
· Личное сообщение · #5

Дак вот почему? Я понял, что в мемо(int 3). Почему глюк?



Ранг: 0.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 12 декабря 2004 13:47
· Личное сообщение · #6

А вобще может ли загрузиться в него текст с непечатаемыми символами?




Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 12 декабря 2004 13:49
· Личное сообщение · #7

Да, кажись. Ну а почему глюк, из-за непечатаемых?



Ранг: 3.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 12 декабря 2004 13:55 · Поправил: Gloomy
· Личное сообщение · #8

Давненько не видал такого чудовищного кода 8-[==] Непонятно главное - ты на Дельфи пишешь или на Ассемблере, зачем такая громадная вставка? Не лучше ли будет написать простенький понятный читабельный код:

type
TGetTaskList = function: Pointer; stdcall;

procedure TfrmMain.bnMainClick(Sender: TObject);
var
hDll: THandle;
GetTaskList: TGetTaskList;
pResult: Pointer;
bFile: File of Byte;
label _freelib;
begin
//asm int 3 end;
hDll:= LoadLibrary('advtsk.dll');
if hDll = 0 then exit;
@GetTaskList:= GetProcAddress(hDll, 'clProcess');
if @GetTaskList = nil then goto _freelib;
pResult:= GetTaskList();
if pResult = nil then goto _freelib;
AssignFile(bFile, 'taskz.txt');
Rewrite(bFile);
BlockWrite(bFile, pResult^, $0A28);
CloseFile(bFile);
_freelib:
FreeLibrary(hDll);
end;


А TMemo правильно делает что ошибку выдает, я бы тоже матерился если б мне подсовывали в качестве текстового файл начинающийся нулевым байтом.



Ранг: 0.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 12 декабря 2004 14:02
· Личное сообщение · #9

Gloomy пишет:
файл начинающийся нулевым байтом

Очень может быть =)


 eXeL@B —› Крэки, обсуждения —› Help with Delphi.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати