..snip...
We can add the "rows" for convenience, but nevertheless the error handler
must also handle the 'response' case.

Michael.

Hi Michael,

I've created an updated ExtJS error handler for the demo programs that handle all these response messages from FCL-web without the need to change the internals and play with the "rows". We just need to update the *.js files for the demos.

=================================CODE START
  // Listen to errors.
data.addListener('exception', function(proxy, type, action, options, res) {
    if (type === 'remote') {
        Ext.Msg.show({
            title: 'REMOTE EXCEPTION',
            msg: res.message,
            icon: Ext.MessageBox.ERROR,
            buttons: Ext.Msg.OK
        });
    }else{//type === 'response'
if (res.responseText !== undefined){//there is a responseText so we can process
        var succ = undefined;
        var mess = "";
        try {
//////mark start
          var response = Ext.util.JSON.decode(res.responseText);
          succ = response.success;
          mess = response.message;
//////mark end
          if ((succ !== undefined)&&(!succ)){//success == false
            Ext.Msg.show({
                title: 'REMOTE EXCEPTION/ERROR',
                msg: mess,
                icon: Ext.MessageBox.ERROR,
                buttons: Ext.Msg.OK
            });
          };
        }//try
        catch (err) {
Ext.MessageBox.alert('ERROR', 'Could not decode server response: ' + res.responseText);
        };//catch
      };
    };//else
  });//addListener
==================================CODE END
For XML communication we need to change between the "mark start / mark end" to
//////mark start
          var response = document.createElement('div');
          response.innerHTML = res.responseText;
          s = Ext.DomQuery.selectValue('success', response);
          switch (s.toLowerCase()) {
            case "true" : succ = true;
            case "false": succ = false;
          };//switch
          mess = Ext.DomQuery.selectValue('message', response);
//////mark end


AB

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to