🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #93199

Re: Jak obsługiwać Scintillę?

#93199
From: Arivald
Date: Fri, 27 Sep 2013 18:27
29 lines
2495 bytes
W dniu 2013-09-27 20:13, Borneq pisze:
> Użytkownik "R.e.m.e.K" <go@dev.null> napisał w wiadomości
> news:5243209a$0$2227$65785112@news.neostrada.pl...
>> http://code.google.com/p/dscintilla/
>
> Są dwa sposoby komunikacji z tą kontrolką:Windows.SendMessage albo
> FDirectFunction(FDirectPointer, AMessage, WParam, LParam);
> Ta druga metoda jest szybsza, ale może powodować problemy w pracy z
> wątkami. Dlatego też warto zrobić property, w jaki sposób się komunikować.
> To jest grupa Delphi, ale chcę oprogramować Scintillę we FreePascalu.
> Jak to zrobić w Linuxie? Odpowiednik SendMessage jest w
> ScintillaGTK.cxx, ale jak to wywołać z Pascala? Czy trzeba będzie zrobić
> bibliotekę .so w C++, którą wołał będzie Pascal?
> (wysyłam Cross na Pascal)

SendMessage jest bezpieczna wątkowo, bo to system dba o wątki i 
bezpieczeństwo jeśli przesyłasz komunikat pomiędzy wątkami.

Ale korzystając z drugiej metody, FDirectFunction, też można to zrobić 
bezpiecznie. Po prostu trzeba zrobić kolejki komunikatów, z całą otoczką.
I ta wersja będzie działała tak samo zarówno w Windows jak i w Linuxie, 
a nawet w Javie. Różnice będą tylko w sposobie tworzenia nowego wątku i 
sposobie synchronizacji.

Albo po prostu uznaj że Scintilla może pracować tylko i wyłącznie w 
wątku GUI, zresztą jak cały VCL. Wtedy obejdzie się bez kolejek itd.

-- 
Arivald
Technical Details
Message-ID: <l24irq$6td$1@news.dialog.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
References: <l1v4il$3re$1@node1.news.atman.pl> <5243209a$0$2227$65785112@news.neostrada.pl> <l24hsp$liv$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
From: Arivald <NOSPAMarivald@interia.pl>
Newsgroups: pl.comp.lang.delphi,pl.comp.lang.pascal
Subject: Re: Jak obsługiwać Scintillę?
Date: Fri, 27 Sep 2013 20:27:11 +0200
Organization: Dialog Net
Lines: 30
Message-ID: <l24irq$6td$1@news.dialog.net.pl>
References: <l1v4il$3re$1@node1.news.atman.pl> <5243209a$0$2227$65785112@news.neostrada.pl> <l24hsp$liv$1@node1.news.atman.pl>
NNTP-Posting-Host: dynamic-78-9-153-134.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1380306618 7085 78.9.153.134 (27 Sep 2013 18:30:18 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Fri, 27 Sep 2013 18:30:18 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0
In-Reply-To: <l24hsp$liv$1@node1.news.atman.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit