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
Author: mac... Maciej Pilichowski
Date: Tue, 16 Sep 1997 00:00
Date: Tue, 16 Sep 1997 00:00
31 lines
1602 bytes
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
Author: Grzegorz Prochalski
Date: Tue, 16 Sep 1997 00:00
Date: Tue, 16 Sep 1997 00:00
45 lines
2260 bytes
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
Author: Tomasz Pytlik
Date: Tue, 16 Sep 1997 18:00
Date: Tue, 16 Sep 1997 18:00
21 lines
1273 bytes
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
Author: Robert Perlinski
Date: Wed, 17 Sep 1997 02:26
Date: Wed, 17 Sep 1997 02:26
18 lines
1028 bytes
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
Author: Maciej Pilichowski
Date: Wed, 17 Sep 1997 09:40
Date: Wed, 17 Sep 1997 09:40
22 lines
1217 bytes
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
Author: Robert Perlinski
Date: Thu, 18 Sep 1997 02:34
Date: Thu, 18 Sep 1997 02:34
23 lines
1721 bytes
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
Author: Maciej Pilichowski
Date: Thu, 18 Sep 1997 09:27
Date: Thu, 18 Sep 1997 09:27
33 lines
1927 bytes
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
Author: Krzysztof Łempiński
Date: Thu, 18 Sep 1997 10:24
Date: Thu, 18 Sep 1997 10:24
18 lines
1761 bytes
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
Author: Robert Perlinski
Date: Fri, 19 Sep 1997 00:00
Date: Fri, 19 Sep 1997 00:00
25 lines
1458 bytes
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