da-baranov / SciDe

Sciter component for Delphi
76 stars 26 forks source link

Sciter 3.3.0.2 can not compile #5

Open NYWONG opened 9 years ago

NYWONG commented 9 years ago

SR := API.SciterWindowAttachEventHandler(Handle, LPELEMENT_EVENT_PROC(@_SciterViewEventProc), Self, UINT(HANDLE_ALL));

this line error

da-baranov commented 9 years ago

Which Delphi version are you using?

NYWONG commented 9 years ago

D7 XE8

gxlmyacc commented 8 years ago

Sciter TSciterApi record was changed from 3.3.0.2

Mikanoshi commented 8 years ago

SciterWindowAttachEventHandler and ElementEventProc look the same in SciterSDK 3.3.0.6...

Mikanoshi commented 8 years ago

Fixed it for 3.3.0.6, you have to delete SciterEnumUrlData and all SciterDebug* from ISciterAPI

da-baranov commented 8 years ago

Thanks Mikanoshi, I'm testing. Damn, 3.3.0.6 gets hang and freeze, both as Delphi component and in sciter.exe, and I don't know why.

Mikanoshi commented 8 years ago

Working for me) in SDK's sciter/sciter64.exe and when created in runtime in Delphi.

Mikanoshi commented 8 years ago

Well, not really working in Delphi :) Simple code

<script type="text/tiscript">
function doSmth() {
  var chat = self.$(#chat);
  chat.text = "ok";
}
</script>
...
<div id="chat">xyz</div>
...
Sciter.Call('doSmth', []);

causes Access Violation, but stdout.println(chat.text) displays "xyz", no idea why it can't assign value to the element...

Mikanoshi commented 8 years ago

My crash was a Sciter problem, 3.3.0.6 works well otherwise: http://sciter.com/forums/topic/previous-versions/#post-42961

Mikanoshi commented 8 years ago

There are still a number of bugs, even with 3.2.0.7. Black line always appears on the right after loading document, it can be removed only by resizing Sciter component.

scide

Also my program and SciDe demo sometimes crash with Access Violation on close, crash happens when Sciter component has alredy been destroyed, somewhere inside DLL. I'll ask developer about it.

Mikanoshi commented 8 years ago

Black line can be fixed by calling Application.ProcessMessages after Sciter was created and positioned on the form.

Access Violation on close happens because Sciter uses Direct2D and conflicts with apps that hook DirectDraw to display overlays (FPS, monitoring, etc). It was Bandicam in my case.