🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
9 messages
9 total messages Started by mac... Maciej Pilichowski Tue, 16 Sep 1997 00:00
Koszmar z ulicy Delphi
#144
Author: mac... Maciej Pilichowski
Date: Tue, 16 Sep 1997 00:00
31 lines
1602 bytes
Hej,

  Przenosze, przenosze moj program z 16bit na 32bit w Win95 i juz szlag mnie
trafia. Pierwsza sprawa /upraszczajac/ jest sobie dll, w ktorym jest ilestam
procedur. Wolam pierwsza procedure, ktora m.in. otwiera plik do zapisu i na
wszelki wypadek zapisuje do pliku tekst kontrolny, pozniej Windows wola
druga procedure /na pewno jest wolana!/, ktora m.in. zapisuje cos do juz
otwartego pliku, a nastepnie ja wolam 3 procedure, ktora zapisuje tekst
kontrolny i zamyka plik.
  Problem w tym, ze oprocz 2 tekstow kontrolnych nic innego nie ma. Any
ideas?

  Druga sprawa. Jest sobie w dllu, zapis tego typu
const
 X : boolean = FALSE;

Jest to zapis na zewnatrz wszystkich procedur. Wolam jedna procedure, ktora
m.in. nadaje X wartosc TRUE. Pozniej Windows wola inna procedure, gdzie
m.in. dokonuje sprawdzenia X -- jest rowny FALSE! Powiem, ze ta zmienna nie
jest wykorzystana przez Windows, nie jest zmieniana, ani w ogole sprawdzana
w innych procedurach.
  Co tu jest grane?

milego dnia zycze
hej
-- 
Maciej "MACiAS" Pilichowski             http://www.phys.uni.torun.pl/~macias/
                                             mac...@class1.phys.uni.torun.pl 
   * odpisujac nie cytuj calosci *    
 * maile bez polskich liter (plz!) *
Re: Koszmar z ulicy Delphi
#145
Author: Grzegorz Prochalski
Date: Tue, 16 Sep 1997 00:00
45 lines
2260 bytes
Mnie kiedys z bazami dzialy sie rozne dziwne rzeczy np. robilem otwarcie
bazy, linijke nizej Append, i w tym momencie Delphi wywalal blad ze baza
jest zamknieta. W parametrach projektu wylaczylem optymalizacje i
wszystko powrocilo do normy. Sprobuj moze wystarczy tylko to cholerstwo
wylaczyc.
-- 

                  Grzegorz Prochalski
          ----------------------------------------
          e-mail: szc...@pik.gliwice.pl
		  szc...@david.silesia.pik-net.pl

Maciej Pilichowski wrote:
> 
> Hej,
> 
>   Przenosze, przenosze moj program z 16bit na 32bit w Win95 i juz szlag mnie
> trafia. Pierwsza sprawa /upraszczajac/ jest sobie dll, w ktorym jest ilestam
> procedur. Wolam pierwsza procedure, ktora m.in. otwiera plik do zapisu i na
> wszelki wypadek zapisuje do pliku tekst kontrolny, pozniej Windows wola
> druga procedure /na pewno jest wolana!/, ktora m.in. zapisuje cos do juz
> otwartego pliku, a nastepnie ja wolam 3 procedure, ktora zapisuje tekst
> kontrolny i zamyka plik.
>   Problem w tym, ze oprocz 2 tekstow kontrolnych nic innego nie ma. Any
> ideas?
> 
>   Druga sprawa. Jest sobie w dllu, zapis tego typu
> const
>  X : boolean = FALSE;
> 
> Jest to zapis na zewnatrz wszystkich procedur. Wolam jedna procedure, ktora
> m.in. nadaje X wartosc TRUE. Pozniej Windows wola inna procedure, gdzie
> m.in. dokonuje sprawdzenia X -- jest rowny FALSE! Powiem, ze ta zmienna nie
> jest wykorzystana przez Windows, nie jest zmieniana, ani w ogole sprawdzana
> w innych procedurach.
>   Co tu jest grane?
> 
> milego dnia zycze
> hej
> --
> Maciej "MACiAS" Pilichowski             http://www.phys.uni.torun.pl/~macias/
>                                              mac...@class1.phys.uni.torun.pl
>    * odpisujac nie cytuj calosci *
>  * maile bez polskich liter (plz!) *
Re: Koszmar z ulicy Delphi
#146
Author: Tomasz Pytlik
Date: Tue, 16 Sep 1997 18:00
21 lines
1273 bytes
 Maciej Pilichowski napisał(a) w artykule <5vlko8$5hv$1@flis.man.torun.pl>..
.
[Ciach]
>  Druga sprawa. Jest sobie w dllu, zapis tego typu
>const
> X : boolean = FALSE;
>
>Jest to zapis na zewnatrz wszystkich procedur. Wolam jedna procedure,
ktora
>m.in. nadaje X wartosc TRUE. Pozniej Windows wola inna procedure, gdzie
>m.in. dokonuje sprawdzenia X -- jest rowny FALSE! Powiem, ze ta zmienna
nie
>jest wykorzystana przez Windows, nie jest zmieniana, ani w ogole
sprawdzana
>w innych procedurach.
>  Co tu jest grane?
A moze sprobuj VAR a nie CONST
Hej
Tomasz Pytlik
E-Mail: poczta@thb.gnet.pl
ICQ ID:1597243
Re: Koszmar z ulicy Delphi
#147
Author: Robert Perlinski
Date: Wed, 17 Sep 1997 02:26
18 lines
1028 bytes
Maciej Pilichowski <macias@phys.uni.torun.pl> wrote in article
<5vlko8$5hv$1@flis.man.torun.pl>...
> Hej,
> 
> ...
> pozniej Windows wola druga procedure /na pewno jest wolana!/,
>

Napisz dokladniej co przez to rozumiesz.

> ...
> Pozniej Windows wola inna procedure, 
> ...

Jak wyzej.


Robert Perlinski
Re: Koszmar z ulicy Delphi
#148
Author: Maciej Pilichowski
Date: Wed, 17 Sep 1997 09:40
22 lines
1217 bytes
Robert Perlinski (perlinski@followme.com) wrote:

: > pozniej Windows wola druga procedure /na pewno jest wolana!/,

: Napisz dokladniej co przez to rozumiesz.

Ta procedura to filtr klawiatury. Windows ja wywoluje.

: > Pozniej Windows wola inna procedure, 
: > ...
: 
: Jak wyzej.

Jak wyzej ;-))))

milego dnia zycze
hej
-- 
Maciej "MACiAS" Pilichowski             http://www.phys.uni.torun.pl/~macias/
                                             macias@class1.phys.uni.torun.pl 
   * odpisujac nie cytuj calosci *    
 * maile bez polskich liter (plz!) *
Re: Koszmar z ulicy Delphi
#149
Author: Robert Perlinski
Date: Thu, 18 Sep 1997 02:34
23 lines
1721 bytes
Nadal nie wiem, czy dobrze zrozumialem. Czy uzywasz SetWindowsHook?
A moze probujesz napisac  "kernel-mode device driver" w Delphi <g>

Niezaleznie od tego co robisz, DLLe napisane w Delphi nie roznia sie niczym
od tych napisanych w C/C++. Tzn. powinny dzialac. Przyczyny szukalbym 
w Twoim kodzie. Piszesz, ze jest to port z 16-bitow. Czy wziales pod uwage
fakt, ze w Win32 segment kodu DLLa nie jest dzielony (wspoluzywany) 
przez procesy? A moze Twoj kod jest wielowatkowy i to co obserwujesz 
to bardzo czeste zjawisko w takich przypadkach. Mozliwosci jest na tyle 
duzo, ze bez zobaczenia kawalka kodu mozna tylko zgadywac.

Robert Perlinski

Maciej Pilichowski <macias@phys.uni.torun.pl> wrote in article
<5vo8i8$gqv$1@flis.man.torun.pl>...
> Robert Perlinski (perlinski@followme.com) wrote:
> 
> : > pozniej Windows wola druga procedure /na pewno jest wolana!/,
> 
> : Napisz dokladniej co przez to rozumiesz.
> 
> Ta procedura to filtr klawiatury. Windows ja wywoluje.
> 
Re: Koszmar z ulicy Delphi
#150
Author: Maciej Pilichowski
Date: Thu, 18 Sep 1997 09:27
33 lines
1927 bytes
Robert Perlinski (perlinski@followme.com) wrote:

Hej,

: Nadal nie wiem, czy dobrze zrozumialem. Czy uzywasz SetWindowsHook?
: A moze probujesz napisac  "kernel-mode device driver" w Delphi <g>

Tego drugiego raczej nie pisze, bo nawet nie wiem czym sie to je. Tak,
uzywam funkcji Set...

: Niezaleznie od tego co robisz, DLLe napisane w Delphi nie roznia sie niczym
: od tych napisanych w C/C++. Tzn. powinny dzialac. Przyczyny szukalbym 
: w Twoim kodzie. Piszesz, ze jest to port z 16-bitow. Czy wziales pod uwage
: fakt, ze w Win32 segment kodu DLLa nie jest dzielony (wspoluzywany) 
: przez procesy?

Khe khe, ja mam tylko jeden proces, wiec nie mam co zakladac.

: A moze Twoj kod jest wielowatkowy i to co obserwujesz 
: to bardzo czeste zjawisko w takich przypadkach. Mozliwosci jest na tyle 
: duzo, ze bez zobaczenia kawalka kodu mozna tylko zgadywac.

Nie jest wielowatkowy.

Moge podeslac, ale to na serio zadna rewelacja.

milego dnia zycze
hej
-- 
Maciej "MACiAS" Pilichowski             http://www.phys.uni.torun.pl/~macias/
                                             macias@class1.phys.uni.torun.pl 
   * odpisujac nie cytuj calosci *    
 * maile bez polskich liter (plz!) *
Re: Koszmar z ulicy Delphi
#151
Author: Krzysztof Łempiński
Date: Thu, 18 Sep 1997 10:24
18 lines
1761 bytes
Jażeli masz problemy z SetWindowsHook to należy użyć SetWindowsHookEx
zalecanej w Win32. Twoje problemy wynikają z dziwnej własności dll-a który
pracuje jako Hook. Najprawdopodobnije działa to tak, że jeżeli jesteś w
swojej aplikcaji to wszystko działa a jeżeli próbujesz uzywać filtra z
innej aplikacji to nie działa. Jeśli tak jest to rozwiązanie jest
następujące: w procedurze filtra nie możesz nic zapamiętywać. Musisz
odlaneżl cwoje okno macierzyste za pomocą FindWindow i do niego przesyłać
komunikaty o tym iż naciśnięty jakiś klawisz (jako WM_USER). i w nim zrobić
całą obsługę klawiatury. W dll-u możesz co najwyżej wyfiltrować odpowiednie
zdarzenie. Jeżeli chcesz by program dobrze działał w środowisku to na
początku pracy programu zmień tytuł okna (parametr potrebny do FindWindow).


Mam nadzieję iż to powinno zadziałać.

pozdrowienia 
Krzysiek
 
Re: Koszmar z ulicy Delphi
#152
Author: Robert Perlinski
Date: Fri, 19 Sep 1997 00:00
25 lines
1458 bytes
Maciej Pilichowski <mac...@phys.uni.torun.pl> wrote in article
<5vqs6j$22c$3...@flis.man.torun.pl>...
> Robert Perlinski (perl...@followme.com) wrote:

> : Niezaleznie od tego co robisz, DLLe napisane w Delphi nie roznia sie
niczym
> : od tych napisanych w C/C++. Tzn. powinny dzialac. Przyczyny szukalbym 
> : w Twoim kodzie. Piszesz, ze jest to port z 16-bitow. Czy wziales pod
uwage
> : fakt, ze w Win32 segment kodu DLLa nie jest dzielony (wspoluzywany) 
> : przez procesy?
> 
> Khe khe, ja mam tylko jeden proces, wiec nie mam co zakladac.

Jesli uzywasz SetWindowsHook to istnieja duze szanse na to, ze masz ich 
conajmniej dwa <g>

> Moge podeslac, ale to na serio zadna rewelacja.

Wiem, gdyby to byla rewelacja - toby dzialalo <grin>
Przeslij uproszczona wersje DLLa i sposob wywolania SetWindowsHook; mysle, 
ze wiecej osob chetnie popatrzy. Moze wspolnie cos wymyslimy.

Robert Perlinski
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads