add block programmatically How can i add a block from mymodule. The content for the block is a form which contain a dropdown listing the themes. I tried with the following code. but it is not working.

function mymodule_block($op = 'list', $delta = 0){
$block = array();
    switch ($op) {
     case 'list':
       $blocks['mymodule_preview'] = array(
      'info' =&gt; t('mymodule Preview'),
      'region' =&gt; t('header'),
      'weight' =&gt; 0,
      'status' =&gt; 1
  );
  return $blocks;
case 'view':
  switch ($delta) {
    case 'mymodule_preview':
      $block = array(
          'content' =&gt; mymodule_theme_form(),
      );
      break;
  }

  return $block;
}
}


function mymodule_theme_form() {
global $custom_theme;
$themes = system_theme_data();
uasort($themes, 'tmymodule_sort_modules_by_info_name');
$themeOptions[] = 'Select';
$rolesOptions[] = 'Select';
foreach ($themes as $theme) {
    $themeOptions[$theme-&gt;name] = $theme-&gt;name;
}

// themes dropdown
$form1["themes"] = array(
    '#type' =&gt; 'select',
    '#title' =&gt; t('Preview the page with themes available'),
    '#options' =&gt; $themeOptions,
    '#default_value' =&gt; $custom_theme,
    '#attributes' =&gt; array('onchange' =&gt; "form.submit('themes')"),
);
//Submit button:
$form1['submit_'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; t('Submit '),
        '#attributes' =&gt; array('style' =&gt; 'display: none;'),
);

return $form1;

}


This creates the block but content just prints "Array" only. 
i am using drupal 6 . 
 What is wrong in this code?  Pls help me
$block = array(
      'content' =&gt; drupal_get_form('mymodule_theme_form'),
  );