protected void OnCreateProcedure() { BaseNode node = CurrentNode.DataItem as BaseNode; IDbFactory fac = node.ConnectionContext.DbFactory; IEditSchemaProvider schemaProvider = (IEditSchemaProvider)node.ConnectionContext.SchemaProvider; ProcedureSchema proc = schemaProvider.CreateProcedureSchema("NewProcedure"); if (fac.GuiProvider.ShowProcedureEditorDialog(schemaProvider, proc, true)) { ThreadPool.QueueUserWorkItem(new WaitCallback(OnCreateProcedureThreaded), new object[] { schemaProvider, proc, node } as object); } }