Перейти к содержанию

1001 и 1 вопрос по Дельфи


Apollon

Рекомендуемые сообщения

И снова с вопросом :good:

вот написал дополнение к проге, при нажатий на кнопку "Найти файл" - выходит отдельное окошко, как бы минипрограмма, но при этом в новом окне нажимаем кнопку "Папка" - и она несрабатывает, если компилю так отдельно всё пашет, начинаю интегрировать непашет, немогу понять в чём проблема

исходники:

1.1.ZIP

 

Внимание!

На опробку сборку не брать - за стабильность неотвечаю!

 

З.Ы. реализованно только 10% :)

Ссылка на комментарий
Поделиться на другие сайты

User по умолчанию необходимо указать путь для поиска иначе при нажатии кнопку Поиск будет вызывать ошибку.

procedure TForm2.Button2Click(Sender: TObject);
var
 Path: string;
begin
 Path :='';
 Path := GetPath('Выберети папку');
 if Path <> ''
 then Edit2.Text := Path;
end;

Изменено пользователем kilo
Ссылка на комментарий
Поделиться на другие сайты

Вызов функций такого рода нормальный. Наверно все-таки компонент такой противный, хочет, чтобы им только из самого приложения издевались.
Нужен именно указатель. Передавать параметром _объект_ при вызове функции из ДЛЛ - это моветон :)

 

p.s. ну крутые хацкеры юзают PEB
Хулиганим? :good: Привет старик =)

 

User, поправь орфографию в хэлпе и объясни плиз, что же ты всё-таки пишешь =)

 

З.Ы. реализованно только 10%
Не преувеличивай :blink: :)

 

P.S. но само начинание - похвально )

  • Согласен 1
Ссылка на комментарий
Поделиться на другие сайты

Нужен именно указатель. Передавать параметром _объект_ при вызове функции из ДЛЛ - это моветон

Ясненько. Буду знать. Спасибо за помощь.

Ссылка на комментарий
Поделиться на другие сайты

Всем привет, вот новый вопрос

{$APPTYPE CONSOLE}
program drvinst;

uses Windows, WinSVC;

var hSCM, hSRV : THandle;
 R : LongBool;a
 Param : AnsiString;

begin
 if ParamCount = 1 then
 begin
hSCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
Writeln('OpenSCManager ', (hSCM <> INVALID_HANDLE_VALUE));
Param := AnsiString(ParamStr(1));
// создание системной записи о драйвере
hSRV := CreateService(
  hSCM, 
  @Param[1], 
  @Param[1], 
  SERVICE_ALL_ACCESS, 
  SERVICE_KERNEL_DRIVER, 
  SERVICE_DEMAND_START, 
  SERVICE_ERROR_NORMAL, 
  PAnsiChar('System32\DRIVERS\' + Param + '.sys'), 
  nil, 
  nil, 
  nil, 
  nil, 
  nil);
Writeln('CreateService ', hSRV <> INVALID_HANDLE_VALUE);
// очистка ресурсов
R := CloseServiceHandle(hSRV);
Writeln('CloseServiceHandle ', R);
R := CloseServiceHandle(hSCM);
Writeln('CloseServiceHandle ', R);
 end;
end.

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

А есть другой способ подключить .dll - файл к программе?

Ссылка на комментарий
Поделиться на другие сайты

User, нифига опять не понял.

 

R : LongBool;a
Очепятка

 

Пробывал данный код отдельно компилировать чтобы он запускал драйвер, и ничего невыходило консоль появлялась на две секунды после исчезала.
1. для начала не используй параметры, а жёстко задай имя драйвера.

2. Сразу пиши удалялку своего драйвера

3. Чтоб консоль не закрывалась, перед эндом с точной пиши ReadLN();

 

А есть другой способ подключить .dll - файл к программе?
В смысле - другой? Либо статическая линковка (тогда без ДЛЛ твоё приложение вообще не запустится), либо LoadLibrary и GetProcAddress.
Ссылка на комментарий
Поделиться на другие сайты

C. Tantin

Я непонял - это вы недопёрли по моему вопросу? или я неврубился? :wub:

Дайте пожалуйста ссылку по работе и загрузке .длл - а то ничерта разобраться немогу :lool:

Ссылка на комментарий
Поделиться на другие сайты

Данные страницы сохранил в оффлайне дома прочитаю :lool: спасибо

Эм... как ваш рабочий стол поживает?

Ссылка на комментарий
Поделиться на другие сайты

Я непонял - это вы недопёрли по моему вопросу?
Угу - я не понял, что не нравится.

 

А про консоль - я написал выше.

 

kilo +1, полезные ссылки

Ссылка на комментарий
Поделиться на другие сайты

Привет C. Tantin!

 

Я чёта сам не пойму чё там за программа рождается) Вижу что всё и сразу, такого не бывает. Пиши спецификацию и делай всё постепенно.

Ссылка на комментарий
Поделиться на другие сайты

Вижу что всё и сразу

Плохо товарищь в корень смотрите :)

всё постепенно, самое обидное шо я ассемблер незнаю, но! Учится никогда не поздно B)

Ссылка на комментарий
Поделиться на другие сайты

User, на кой ляд тебе асм? Ты пишешь что-то сильно платформозависимое или очень критичное к скорости? Имхо обычного Си (не плюсов) должно хватать с головой. А для несложных поделок - вообще делфина.

Ссылка на комментарий
Поделиться на другие сайты

User, на кой ляд тебе асм? Ты пишешь что-то сильно платформозависимое или очень критичное к скорости?

Для программера нужно всё (ИМХО), пока неопределился :)

Имхо обычного Си (не плюсов) должно хватать с головой.

На первое время! Дальше больше B)

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...