Hollosi Information eXchange /HIX/
HIX CODER 711
Copyright (C) HIX
2000-01-24
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: Pascal (mind)  7 sor     (cikkei)
2 NASM makro problema (mind)  81 sor     (cikkei)
3 Re: Elszallas regiszter es verem informaciok ertelmezes (mind)  25 sor     (cikkei)
4 idegen DLLbol import LIB keszitese (mind)  12 sor     (cikkei)
5 Playsafe programozasa (mind)  12 sor     (cikkei)
6 ObjectWindows levelezesi lista (mind)  5 sor     (cikkei)
7 WM_KILLFOCUS (mind)  15 sor     (cikkei)
8 valtozatok... (mind)  21 sor     (cikkei)

+ - Re: Pascal (mind) VÁLASZ  Feladó: (cikkei)

Konkretabban? Van egy komplett UNIT-om.

Istvan

 wrote:
> tudja-e valaki hogy hogyan kell Turbo Pascalban grfaikus modban az
> egeret kezelni?
+ - NASM makro problema (mind) VÁLASZ  Feladó: (cikkei)

Hello!

Van egy kis problemam a NASM makrokkal. Talaltam nehany makrok az Assembly
Programming Journual #3 szamaban,az Assembly-beli feltetelek
megvalositasara, de ugy nez ki, hogy nem muxik a dolog.
A makro amirol beszelek a kovetkezo:

%macro IF 3
%push if
%assign __curr 1
    mov eax, %1
    mov ebx, %3
    cmp eax, ebx
    j%+2 %%if_code
    jmp %$loc(__curr)
%%if_code:
%endmacro

%macro ELSIF 3
  %ifctx if
    jmp %$end_if
%$loc(__curr):
  %assign __curr __curr+1
    mov eax, %1
    mov ebx, %3
    cmp eax, ebx
    j%+2 %%elsif_code
    jmp %$loc(__curr)
%%elsif_code:
%else
   %error "'ELSIF' can only be used following 'IF'"
%endif
%endmacro

%macro ELSE 0
%ifctx if
    jmp %$end_if
%$loc(__curr):
%assign __curr __curr+1
%else
  %error "'ELSE' can only be used following an 'IF'"
%endif
%endmacro

%macro ENDIF 0
%$loc(__curr):
%$end_if:
%pop
%endmacro

;A program a kovetkezo:
WinProc:
        push ebp
        mov ebp,esp
        %define hwnd    ebp+8                                        ;line52
        %define msga ebp+12
        %define wparam  ebp+16
        %define lparam  ebp+20
        IF DWORD [msga],e,WM_DESTROY               ;line 56
                stdcall PostQuitMessage,INTEGER 0
        ELSE
                stdcall DefWindowProcA, HWND [hwnd],UINT [msga],WPARAM
[wparam],LPARAM [lparam]
        ENDIF
        pop ebp
        retn 16

; Amikor megprobaltam leforditani, a kovetkezo hibakat kaptam:


progi.asm:56: comma or end of line expected
progi.asm:58: parser: instruction expected
progi.asm:60: symbol ' redefined
progi.asm:60: parser: instruction expected

Valaki tud segiteni , hogy hol a hiba a programban?
(Megj: Mellekeltem a teljes programot)

Elore is kossz,

P.Zsolt
+ - Re: Elszallas regiszter es verem informaciok ertelmezes (mind) VÁLASZ  Feladó: (cikkei)

> elszallas van egy programomban, ami a USER.EXE
> Windows modulra mutat. Mivel (tudomasom szerint) ilyenkor
> a verem nem is a sajatom, nem tudok semmit sem kezdeni
> a kinyerheto infoval.
> Tudna valaki valamilyen modot arra, hogy kozelebb keruljek a
> hiba behatarolasahoz ezen informacio alapjan?

A legvaloszinubb, hogy a hibat egy ablakkezelessel kapcsolatos API
rutinnak megadott rossz parameter, pl. hibas mutato okozza. Az USER.EXE
az ablakkezelesert etc. felelos 16 bites API modul (az USER32.DLL es a
GDI32.DLL tovabbitja a 32 bites hivasokat, ugyanis a micro$oft a
win98ban "meg" nem irta at a GDI-t es az USER-t teljesen 32 bitre). De
meg az is elkepzelheto, hogy nem USER32 hivas eredmenye a hiba, lehet,
hogy pl. egy buffer tulcsordulas miatt epp oda tert "vissza" egy rutinod
(bar ennek nem tul nagy a valoszinusege).

Mindenesetre megprobalhatod egy alacsonyszintu debuggerrel (pl.
SOFT-ICE) megnezni hogy mi is van azon a cimen ahova az EIP mutat. Ebbol
es a regiszter/verem adatokbol mar lehet valamire kovetkeztetni. Ha
szemmel lathatolag kod amit ott talalsz (mert pl invalid opcode
exception eseten valszeg nem azt fogsz), megprobalhatsz egy breakpointot
tenni oda. Ha szerencsed van csak egy-ket API rutin "hasznalja" az
elszallas helyet.

Balint
+ - idegen DLLbol import LIB keszitese (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Van egy (illetve 2) DLL, amit szeretnek hasznalni C-ben, load-time
betoltessel. A gond az, hogy DLLbol nem tudok import LIBet kesziteni. A
Borlandnak van ugyan egy IMPLIB nevu eszkoze, muxik is, de az csak OMF
formatumu LIBet hajnando csinalni, az en linkeremnek (m$) pedig COFFban
jo csak. Szoval kellene egy util ami vagy OMF LIBbol csinal COFFot, vagy
DLL bol COFF LIBet. Olyan hogy COFF2OMF van (bar nekem az sincs meg),
nemtudom a forditottja letezik-e?

Elore is koszi
Balint
+ - Playsafe programozasa (mind) VÁLASZ  Feladó: (cikkei)

Szervusztok!

Van itt egy Playsafe Monitoring nevu kutyu mellettem. Ez egy un.
fekete doboz, jatekgepekhez. Van hozza program ami olvasni tudja az
adatokat belole, a gond az, hogy irni is tudni kellene. Egyebkent ez
tenyleg egy fekete szinu doboz, amin van egy soros port. Ha barkinek
barmilyen informacioja, programozashoz segedanyaga van, kerem
jelentkezzen. Hatekony segitseg eseten dijazas sem marad el.
Koszi!

Udvozlettel,
 Sanyi                          mailto:
+ - ObjectWindows levelezesi lista (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!
ObjectWindows levelezesi listat keresek. Ha valaki tud ilyenrol, irja meg.
Angol is johet.

Kavai Csaba
+ - WM_KILLFOCUS (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!
A problemam a kovetkezo: azt szeretnem elerni, hogy Alt+Tab-bal a
programomrol masik alkalmazasra valtva egy uzenetet kapjak, peldaul hogy
megszuntessem a timerokat. Erre jo a WM_KILLFOCUS uzenet. De ez a
szerencsetlen uzenet akkor is generalodik, ha nem egy masik alkalmazasra
valt, hanem mikor peldaul egy nyomogombot letrehozok, es arra attevodik a
fokusz. Hogyan lehet ezt kikuszobolni. Gondolom nem kell az ablakomban levo
minden egyes objektumom leirojat a memoriaban tartanom, es az uzenet
megkapasakor osszehasonlitgatnom (ugyanis a WM_KILLFOCUS az egyik
parameterkent megadja, hogy melyiken van az aktualis fokusz). Letezik erre
egyszerubb megoldas is?
Vagy talan van olyan fuggveny, amivel sorban let tudom kerdezgetni az
objektumok leirojat? Igy is megfelelne.

Kavai Csaba
+ - valtozatok... (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Adott egy Delphi3 program egy dbf tablaval. A tabla nehany mezojenek
tartalma't lekerdezesi feltetelkent egy-egy ComboBox-ba kell gyujteni.
Sajnos ez a gyujtes igen lassu. Szeretnek javaslatokat a gyujtes
gyorsitasara.

pl. a tabla tartalmaz egy "megrendelo" mezot. Ki kell gyujteni az osszes
kulonbozo megrendelot, a gyujtemenyt rendezni kell abc sorba es el kell
helyezni egy comb o valasztolistajaba. Ezutan a felhasznalo valaszthatja a
combo egy bejegyzeset, ami szuro feltetel lesz. A szures eredmenye
megjelenik egy dbgridben. A felhasznalo modosithatja az allomanyt, uj
rekordokat vehet fel, modosithatja a megrendelot is (a valtozast kovetni
kell a comboban) es torolhet rekordokat (az esetlegesen felesleges
combo-bejegyzes torolni kellene, de nem letszukseglet).

Ha lehet ne hasznaljunk SQL-t, munka-dbf-et es munka-indexet.

Kerem a javaslatok maganba is kuldeni.

Veres Sandor

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS