Приложение C # работает на Win 7, но не на XP - PullRequest
0 голосов
/ 26 сентября 2011

Я создал приложение на C #, а также создал настройку для этого приложения.Приложение по настройке работает на всех компьютерах с Windows 7, но, похоже, не работает ни на одной машине с XP.

Я кратко опишу, что делает мое приложение.

Приложение воспроизводит SWF-файл при запуске.SWF-файл имеет 3 кнопки с отдельными функциями.В основном при нажатии на эти кнопки он должен показывать определенные изображения, которые загружаются из sqlite.

Проблема в том, что приложение загружает SWF-файл правильно, SWF-файл воспроизводится полностью до конца, а затем в конце, где я поместил3 кнопки событие нажатия не реагирует ни на одну кнопку. я предполагаю это проблема с FSCommand и dll не регистрируются правильно

dll, которые я добавил в мои настройки:

  • AxInterop.ShockwaveFlashObjects.dll
  • Interop.shockwaveFlashObjects.dll
  • System.Data.SQLite.dll
  • KP-ImageViewerV2.dll (из codeproject.com)

Также присутствуют файлы моего файла манифеста и файла .config

Я попытался зарегистрировать свои библиотеки DLL вручную, используя RegSrv32 C: \ Interop.ShockwaveFlashObject.dll, а также C: \ AxInterop.ShockwaveFlashObject.dll Ошибка, которую я получаюis

The (DllPath and Name Here) was loaded but DllRegisterServer entry point was not found.

Код, который я использую для отображения моего SWF-файла, выглядит следующим образом:

private void axShockwaveFlash1_FSCommand(object sender,AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
 {
   string btn = e.command.ToString();
   if (btn == "play")
     {
       try
        {
        frmMain Main = new frmMain();
        Main.Show();
        this.Hide();
        }
        catch (Exception ex) 
        { MessageBox.Show(ex.ToString()); }
      }
      if (btn == "syllabus")
      {
         SQLiteConnectionStringBuilder strbldr = new SQLiteConnectionStringBuilder();
         strbldr.DataSource = @Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\TVC E-Excust Customs\\E-ExcustCustoms.s3db";
         SQLiteConnection con = new SQLiteConnection(strbldr.ConnectionString);
         con.Open();
         Syllabus_usageInformation syl = new Syllabus_usageInformation(this);
         SQLiteCommand cmd = new SQLiteCommand("SELECT ImageFiles FROM misc WHERE Name='Syllabus new'", con);
         SQLiteDataReader reader = cmd.ExecuteReader();
         byte[] imageBytes = null;
         while (reader.Read())
         {
          imageBytes = (System.Byte[])reader["ImageFiles"];
         }

         MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
         con.Close();
         syl.kpImageViewer1.OpenButton = false;
         syl.kpImageViewer1.Image = (Bitmap)Image.FromStream(ms,true);
         syl.kpImageViewer1.Zoom = 85;
         syl.Show();
         this.Hide();
        }
        if (btn == "usageInformation")
        {
            SQLiteConnectionStringBuilder strbldr = new SQLiteConnectionStringBuilder();
            strbldr.DataSource = @Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\TVC E-Excust Customs\\E-ExcustCustoms.s3db";
            SQLiteConnection con = new SQLiteConnection(strbldr.ConnectionString);
            con.Open();
            Syllabus_usageInformation syl = new Syllabus_usageInformation(this);
            SQLiteCommand cmd = new SQLiteCommand("SELECT ImageFiles FROM misc WHERE Name='UsageInformation'", con);
            SQLiteDataReader reader = cmd.ExecuteReader();
            byte[] imageBytes = null;
            while (reader.Read())
            {
                imageBytes = (System.Byte[])reader["ImageFiles"];
            }

            MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
            con.Close();
            syl.kpImageViewer1.OpenButton = false;
            syl.kpImageViewer1.Image = (Bitmap)Image.FromStream(ms, true);
            syl.kpImageViewer1.Zoom = 82;
            syl.Show();
            this.Hide();

        }
    }

Мой SWF-файл имеет три кнопки, как упомянуто выше.эти кнопки находятся в мувиклипе, я также вставлю код AS Вот что происходит с одной из кнопок.Остальные 2 такие же, как этот, только с измененными значениями.Я довольно новичок во флэш-памяти, но это может быть из-за используемой версии AS / или минимальной версии флэш-памяти, необходимой для запуска этого SWFПросто еще раз упомянуто видео воспроизводится, но кнопки не реагируют на XP, но работают на 7?

on (rollOver)
{
 if (_root.link != page)
 {
    this.gotoAndPlay("s1");
 }
}
on (releaseOutside, rollOut)
{
 if (_root.link != page)
 {
    this.gotoAndPlay("s2");
 }
}
on (press) 
{
  fscommand("syllabus","syll");
}

Если кому-то нужно больше объяснений или больше кода или только весь проект, дайте мне знать, отправит проект,У меня нет решений, поэтому любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 18 июня 2014

Хорошо, ПРОБЛЕМА РЕШЕНА .. есть проблема с .net 4.0.Я нашел это, потому что я искал что-то на Google для моей проблемы, я не помню поиск, который я сделал, но он возвратил 2 результата !!у одного из них был разговор, какой-то парень из VS и пользователь говорили о проблеме, с которой он столкнулся, которая была похожа на мою.Парень из VS согласился, что проблема действительно в 4.0, и они исправят проблему.Кажется, я потратил много времени.

...