Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   проблема с api (https://forum.antichat.xyz/showthread.php?t=19294)

asm33 18.05.2006 18:17

проблема с api
 
в общем тут такая проблема.
Программа, которуя я написал (на DELPHI )у меня работает нормально, приношу в универ, так начинаются какие то проблемы. То какая нибудь компонента в приложении начинает работыть некорректно, то api функция не срабатывает. В универе та же операционка(виндоус хп), тока там права у юзера ограниченные.

Я так понял, что в зависимости от прав, кодеру доступен опред набор (стандартный), api мне вот интересно знать этот набор, который будет работать даже у юзера с жутко ограниченными правами

nc.STRIEM 18.05.2006 23:57

а что твоя программа использует? к кокимто системным компанентам или библиотекам обращаеться?
Вобще так бывает при использовании прогой библиотек которые на твоем компе есть а на другой машини нету!
А на той машини стояла среда под которой ты писал свою прогу?

asm33 19.05.2006 00:20

в общем ничего особенного она и не использует. Главный компонент в моей проге - image(работа с графиками). Вот он работает некорректно + проблемы с видоизменением курсоры мыши.
еще таккая бурда-на тачках о граниченными провами, при запуске файла склеиного joiner`ом запускаетсятолько одно приложение.
Везде стоит win xp sp1 professional

sn0w 19.05.2006 13:04

2 равновесных варианта: 1) посмотри на конфиге своего прожекта. статически ли он компилирует библиотеки времени исполнения и стандартные багажи. если нет то траблов может быть бесконечное число. 2) привилегии. начиная от уровня пользователя залогиненного в системе и кончая исполняемым кодом. вот например если ты вызовешь ExitWindowsEx на NT машине (даже под админом) без предварительного подключения shutdown-привелегии, то эффекта от этого будет ноль.

например код подключения данной привелегии на си ( дельфю незнаю, извиняй :)) будет выглядеть так:

Код:

HANDLE tok;
                if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&tok)) {
                        LUID luid;
                        TOKEN_PRIVILEGES tp;
                        LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
                        tp.PrivilegeCount=1;
                        tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
                        tp.Privileges[0].Luid=luid;
                        AdjustTokenPrivileges(tok,FALSE,&tp,NULL,NULL,NULL);
               
                        LookupPrivilegeValue(NULL,SE_SECURITY_NAME,&luid);
                        tp.PrivilegeCount=1;
                        tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
                        tp.Privileges[0].Luid=luid;
                        AdjustTokenPrivileges(tok,FALSE,&tp,NULL,NULL,NULL);
                        CloseHandle(tok);
                }


asm33 21.05.2006 18:48

Скорее всего это из за винды глюки(нет необходимых библиотек). Я уж не говорю про win 98 там вообще ни4е работать не будет.

А проблема решается просто-не ипользовать Image, рисовать где нить на форме или на панели. Благо canvas есть почти у всех объектов

nc.STRIEM 22.05.2006 00:01

Цитата:

Сообщение от sn0w
1) посмотри на конфиге своего прожекта. статически ли он компилирует библиотеки времени исполнения и стандартные багажи. если нет то траблов может быть бесконечное число.

[/CODE]

Обычно есле библиотеки не подключены статически, то на другой машине где их нет, проэкт как правило не запускаеться вобще!

F1reF0x 20.06.2006 04:39

В раздел uses что нибдуь дописывал? Или может быть использовал не стандартные компоненты?

Brun 20.06.2006 21:06

Дай код. А то на пальцах показывать бессмыслено.

asm33 21.06.2006 01:26

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

Все проблемы были из за операционки.

Взял 2 дистрибутива.первый англиций второй русифицирован да еще и кострирован (установка Xp до 500 метров еле еле дотягивает), так вот на англицкой все работает на русифицированной нет


Время: 13:17