All products / Saraff.AxHost.NET
Обработка событий. Event Processing.
Для обработки событий необходимо (for the event processing must be):
- обработать событие FireEvent (исходящий интерфейс IAxHostEvents) (processed a FireEvent event)
- извлечь дескриптор события (get a handle of event)
- извлечь имя события (get a name of event)
- при необходимости извлечь значения параметров события (if necessary, get a values of arguments of event)
- при необходимости установить значения параметров события (if necessary, set a values of arguments of event) Событие должно быть с типом делегата System.EventHandler и отмечено атрибутом ApplicationProcessedAttribute (The event should be a type System.EventHandler and marked a ApplicationProcessedAttribute). Параметры события передаются через свойства класса, унаследованного от System.EventArgs (the parameters transferred via the event properties of a class derived from the System.EventArgs).
Объявление и генерация события (C#)
[ApplicationProcessed]
public event EventHandler Uploaded;
if(this.Uploaded!=null) {
this.Uploaded(this, new UploadEventArgs(_name));
}
public sealed class UploadEventArgs:EventArgs {
internal UploadEventArgs(string name) {
this.Name=name;
}
public string Name {
get;
private set;
}
}
Обработка события (JavaScript)
<object id="AxHost"
name="AxHost"
classid="clsid:7067A712-CDFD-4780-B6C0-B8F68A9BA84F"
codebase="Saraff.AxHost.cab"></object>
<script language="javascript" type="text/javascript">
function AxHost::FireEvent(eventId) {
switch(eventId.EventName){
// ...
case "Uploaded":
Uploaded(eventId.GetParam("Name"));
break;
// ...
}
}
</script>