Я создал приложение на 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");
}
Если кому-то нужно больше объяснений или больше кода или только весь проект, дайте мне знать, отправит проект,У меня нет решений, поэтому любая помощь будет высоко оценена.