Scintilla Lib für PB 4 (Update, ist jetzt ein echtes Gadget)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

hallodri hat geschrieben:@ts
Ich kann die DLL nur mit VS 2005 kompilieren , aber danach klappt z.b.
settext nicht mehr , keine Ahnung warum (unicode ?).
Kannst mir den geänderten Lexer mal zukommen lassen, ich hab aber das
Problem, das die DirectFunktion in der DLL: "_Scintilla_Direct_Function@16"
oder so ähnlich heißt. Ob sie funzt weiß ich nicht, wäre aber ärgelich mit dem falschen Namen :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Geaendert habe ich gar nichts , wollte erst einmal schauen ob ich die
ueberhaupt kompiliert bekomme.

edel.leoxikon.de/bin.rar

Folgender Code laeuft mit der dll. Wenn ich die DLL allerdings mit deiner
austausche geht es komischerweise nicht mehr.Vielleicht habe ich auch
einfach nur etwas uebersehen.

Code: Alles auswählen

  OpenLibrary(0,"SciLexer.dll")
  
  Import "SciLexer.lib"
    Scintilla_DirectFunction(hwnd.l,msg.l,wp.l,lp.l)
  EndImport
  
  *hWindow.long = OpenWindow(#PB_Any,#PB_Ignore,#PB_Ignore,500,500,"")
  
  
  CreateGadgetList(*hWindow\l)
  hwnd  = CreateWindowEx_(0,"scintilla","",#WS_CHILD|#WS_VISIBLE,0,0,0500,500,*hWindow\l,0,0,0)
  sci.l = SendMessage_(hwnd,2185,0,0)
  Scintilla_DirectFunction(sci,2181,0,@"dfsfs")
  
  Repeat
    WindowEvent = WaitWindowEvent()  
    
  Until WindowEvent = #WM_CLOSE

Achja , hast du mit vc 6 nen neues Projekt erstellt oder das aus "vcbuild"
genommen ?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

hallodri hat geschrieben: Folgender Code laeuft mit der dll. Wenn ich die DLL allerdings mit deiner
austausche geht es komischerweise nicht mehr.Vielleicht habe ich auch
einfach nur etwas uebersehen.
Deine DLL hat ja auch MS-Decorationen, meine nicht! Die will ich ja weg haben, bei der Erstellung, weil die Standard-DLLs haben das nicht, z.B. die bei WScite oder in der PB-IDE
hallodri hat geschrieben: Achja , hast du mit vc 6 nen neues Projekt erstellt oder das aus "vcbuild"
genommen ?
Das vcbuild, hab nur eine Datei umkopiert, damit er sie findet. Eine statische
Lib (wo DLL sich erübrigen würde), hab ich auch erstellt, die will polink nicht
haben :(
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Okay, dann versuch mal folgendes :

vcordner\VC98\Bin und VCVARS32.BAT starten, dann nach \scintilla\win32\
wechseln und "nmake /f scintilla_vc6.mak" eintippen und hoffen ;-)

Bei mir kommt zwar ne dll, in der Console habe ich allerdings Fehler.

Edit : klappt super :-)
Zuletzt geändert von edel am 21.04.2006 04:48, insgesamt 1-mal geändert.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@hallodri
hab mal eine Testversion für Dich erstellt, enthält auch diese häßliche Dekoration, aber die Lib wurde darauf vorbeireitet :wink:

Folding für:
procedure
procedurec
proceduredll
procedurecdll
enumeration
import
importc
macro
structure
die Endparameter hab ich jetzt doppelt angeben, weiß nicht ob das nötig ist
:freak:
Source ist bei, bitte mal testen (Version nur für hallodri!!!)
http://ts-soft.eu/dl/testlexer.zip
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

edel.leoxikon.de/bin.rar

neu kompiliert , folding klappt, allerdings nicht so wie es soll, aber
das war glaub ich auch schon vorher so.

Getestet habe ich das ganze mit der normalen version.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Update, neue Version Online.
SciLexer.dll (inoffiziele Version!) unterstützt jetzt PB4 (Folding)

UTF-8 wird automatisch beim öffnen erkannt, Control schaltet autom. um.
Beim speichern wird der BOM geschrieben.

Wer in dem Control selber auf UTF-8 umschaltet, sollte die Objectvariable
Encoding auf #True setzen!

Download im ersten Beitrag aktualisiert!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Kannst du noch "Splitview" einbauen ?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

hallodri hat geschrieben:Kannst du noch "Splitview" einbauen ?
Verstehe ich nicht, wie meinste das? Kann man nicht 2 Controls in einen
Splitter packen?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

http://www.qwhale.net/_img/products/edi ... itview.gif

Ja , aber da es sich um 2 Fenster handelt die das gleiche Dokument
haben koennte man das doch von vorneherein unterstuetzen.
Antworten