Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Offset на строковую константу [D7, ME]


Страницы:   1 2 3 4 5

Ллирик ©   (2010-10-22 00:57:00) 

У меня не хочет компилироваться такой код:
const
Keymouse = 'Keymouse.sys';
............
asm
.......
push offset   Keymouse
..........
end;
Будьте добры, подскажите, что мне сделать.


Ллирик   (2010-10-24 16:45:00) [61]


> Германн ©   (24.10.10 04:01) [34]
>
>
> > пишу их на асме, и представьте себе они работают
>
> Готов поверить, что они работают ибо заготовок для написания
> несложных драйверов полно.
>

Если фильтр  клавиатуры, написанный с чистого листа, считается простеньким, то да, я пишу не сложные драйвера)


> Anatoly Podgoretsky ©   (24.10.10 09:44) [35]
>
> > я цитирую учебник Никиты Кулькина "Основы программирования
> > в Delphi 2007"
>
> Врешь ты все и Кулькина зря опускаешь.

Правда, вру) Не в "Основы программирования Delphi 2007", а в  "Основы программирования Delphi 7"


Anatoly Podgoretsky   (2010-10-24 09:45:00) [62]

> Ллирик  (24.10.2010 03:24:33)  [33]

Врешь ты все.


Anatoly Podgoretsky   (2010-10-24 09:44:00) [63]


> я цитирую учебник Никиты Кулькина "Основы программирования
> в Delphi 2007"

Врешь ты все и Кулькина зря опускаешь.


Германн   (2010-10-24 04:01:00) [64]


> пишу их на асме, и представьте себе они работают

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


Ллирик   (2010-10-24 03:24:00) [65]

да) пишу их на асме, и представьте себе они работают)


Похиш   (2010-10-24 03:07:00) [66]


> Тип String эквивалентен типу ShortString. Вам разве было
> об этом не известно?

И эти кадры пишут драйвера :-))) Моя гоготать...


Юрий Зотов   (2010-10-24 01:48:00) [67]

Что ж, тогда продолжайте упражняться в выдумывании проблем.


Ллирик   (2010-10-24 01:15:00) [68]

по этому и скачал учебник на русском


Ллирик   (2010-10-24 01:11:00) [69]

а я английского не знаю)


Юрий Зотов   (2010-10-24 00:49:00) [70]


> Ллирик ©   (24.10.10 00:41) [27]

А я, с Вашего разрешения, процитирую справку по Delphi 7:

The reserved word string functions like a generic type identifier. For example,
var S: string;
creates a variable S that holds a string. In the default {$H+} state, the compiler interprets string (when it appears without a bracketed number after it) as AnsiString.Use the {$H-} directive to turn string into ShortString.


Не думаю, что Delphi 2007 что-то изменилось.


Ллирик   (2010-10-24 00:41:00) [71]

я цитирую учебник Никиты Кулькина "Основы программирования в Delphi 2007"


Amoeba_   (2010-10-23 21:25:00) [72]


> Тип String эквивалентен типу ShortString. Вам разве было
> об этом не известно?

Ты что, с дуба рухнул?


Anatoly Podgoretsky   (2010-10-23 21:25:00) [73]

> Ллирик  (23.10.2010 21:17:24)  [24]

Мне это не известно, но я находил "странных" программистов, которые
принудительно это делали. Ты из них?


Ллирик   (2010-10-23 21:17:00) [74]


> Anatoly Podgoretsky ©   (23.10.10 20:47) [21]
>
> > Ллирик  (23.10.2010 20:44:20)  [20]
>
> И где тут ShortString?

Тип String эквивалентен типу ShortString. Вам разве было об этом не известно?


Anatoly Podgoretsky   (2010-10-23 21:12:00) [75]

> Ллирик  (23.10.2010 20:58:22)  [22]

Чем лучше?


Ллирик   (2010-10-23 20:58:00) [76]

а  лучше так
const
 Keymouse: pansichar = 'Keymouse.sys';
...........
push [Keymouse]


Anatoly Podgoretsky   (2010-10-23 20:47:00) [77]

> Ллирик  (23.10.2010 20:44:20)  [20]

И где тут ShortString?


Ллирик   (2010-10-23 20:44:00) [78]


> sniknik ©   (22.10.10 22:46) [7]
>
> > Наверное, там нужен PChar?
> не нужен.
> push offset   Keymouse[1];
> аналог PChar будет, и даже #0 в конце будет. дельфи магия
> работы со строками...
>

Надо не так, а вот так:
const
 Keymouse: string = 'Keymouse.sys';
.........
push [Keymouse]


Anatoly Podgoretsky   (2010-10-23 19:30:00) [79]

В приведеном коде никакой ShortString не обнаружен.


Ллирик   (2010-10-23 18:54:00) [80]


> Фокус_Ник   (23.10.10 01:46) [13]
>
> > PChar пробовал. Компилируется
> Значит, должно работать. Конечно, если все сделано правильно.
>
>
> > но потом глянул в OllyDebugger`е, по этому адресу находится
> не строка,
> > а какая-то ерунда.
> Значит, что-то сделано неправильно.
>

Так подскажите, что именно неправильно

>
> > Если вызывать api, не на ассемблере, то Делфи ругается
> не на строки,
> > а на 0 или nil, да на 1.
> Если ругается - значит, вызов неправильный.
>
> ================
>
> Не могу понять - зачем Вам ассемблер, если даже такая элементарщина
> уже вызывает проблемы?
>
> Ругается тут, ругается там... каждое такое "ругательство"
> как раз и говорят о причине ошибки, поэтому их надо читать,
>  переводить, думать, въезжать и устранять. А не думать,
> что, мол, вызову из Ассемблера - и сразу все заработает.
>  Потому что никакой Ассемблер неверный код верным не сделает.

Извините, но 0 или nil я взял не с неба, а прочитал в цикле статей написаных, конечно, на ассемблере, но правильность значения от этого ни чуть не уменьшается! С 1 это, конечно, моя придумка, но моем случае API с этим значением работает как надо.


> Германн ©   (23.10.10 02:18) [16]
>
> Присоединяюсь к вопросу. Любую процедуру/функцию WinAPI
> можно вызвать из программы на Дельфи без всяких ассемблеров.
>
> Но вот ".sys" и "offset" меня смущают. Не пытается ли автор
> лезть в функции драйвера "по старинке"?


Да, я пишу программу управления для моего драйвера.


> Anatoly Podgoretsky ©   (23.10.10 07:18) [17]
>
> Я уже спрашивал, но вопрос был проигнорировал - какой string?
>
>

ShortString


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо