JulMarのAtapi x86を使用してTAPIベースの電話システムを構築しようとしています。関数の1つは、インバウンドコールで特定のフォームをポップすることです。しかし、フォームがポップすると、下に示すように、正しく表示されません(私はいくつかのフォームをテストとして試してみて、同じことをしています)。エラーはありません。出力ウィンドウに何が問題なのかを示唆するものはありません。フォームが正しく読み込まれない
コード:
private void incomingcall(object sender, NewCallEventArgs e)
{
string phonenumber = e.Call.CallerId; //get the phone number of the call
SqlCommand getincoming = new SqlCommand(Querystrings.getincomingquery(), DB);
getincoming.Parameters.AddWithValue("@@TELEPHONE", phonenumber);
DataTable results = new DataTable();
try
{
DB.Open();
using (var results = getincoming.ExecuteReader())
{
results.Load(results);
}
}
catch (Exception ex)
{
Inbound ib = new Inbound(phonenumber, null);
ib.Show();
}
finally
{
DB.Close();
}
if (results.Rows.Count == 1)
{
loadcontactrequest(Convert.ToInt32(results.Rows[0].ItemArray[0]), phonenumber);
}
else
{
loadinbound(phonenumber, results);
}
}
私はこの機能に何かある意味、他の点では、この関数の外でこれらのフォームをロードしています。誰が私が間違っているのか分かっていますか?
EDIT:
private void loadcontactrequest(int ContactID, string phonenumber)
{
ContactRequest cr = new ContactRequest(ContactID, Global.loginbound("Single customer found", phonenumber));
cr.Show();
}
これらの機能は、他の場所でテストされ、個別に正常に動作してきた、私はそれがTAPI関連するかもしれないと考えています。
EDIT 2 - 委任:
public static void inittapi()
{
if (TestOptions.notapi)
return;
tapi = new TapiManager("Omitted");
tapi.Initialize();
foreach (TapiLine ad in tapi.Lines) //Get all lines available to this PC
{
if (ad.Name.ToUpper().Contains("Omitted"))
{
phoneline = ad;
phoneline.Open(MediaModes.All); //Open the phone line for making and receiving calls
phoneline.NewCall += new EventHandler<NewCallEventArgs>(new TAPI().incomingcall); //Add the incoming call event handler
}
}
}
'loadcontactrequest()'がフォームを開いていると仮定しますか?もしそうなら、そこに問題がある可能性があります。そのコードを表示します。 – DonBoitnott
このフォームをデバッグしましたか? –
あなたはそれをデバッグするとどうなりますか? – AnthonyLambert