我正在开发一个使用移动设备拍摄照片并使用网络服务发送的应用程序.但在我拍了4张照片后,我得到了OutOfMemoryException
下面的代码.我试着打电话,GC.Collect()
但也没有帮助.也许这里有人可以给我一个如何处理这个问题的建议.
public static Bitmap TakePicture()
{
var dialog = new CameraCaptureDialog
{
Resolution = new Size(1600, 1200),
StillQuality = CameraCaptureStillQuality.Default
};
dialog.ShowDialog();
// If the filename is empty the user took no picture
if (string.IsNullOrEmpty(dialog.FileName))
return null;
// (!) The OutOfMemoryException is thrown here (!)
var bitmap = new Bitmap(dialog.FileName);
File.Delete(dialog.FileName);
return bitmap;
}
Run Code Online (Sandbox Code Playgroud)
该函数由事件处理程序调用:
private void _pictureBox_Click(object sender, EventArgs e)
{
_takePictureLinkLabel.Visible = false;
var image = Camera.TakePicture();
if (image == null)
return;
image = …
Run Code Online (Sandbox Code Playgroud) 我必须纠正一些C++/STL代码.不幸的是,我的C++经验很少,对STL一无所知.不过我完成了大部分工作,但下面的功能仍然给我带来了问题:
C++源码:
double MyClass::CalculateAvg(const std::list<double> &list)
{
double avg = 0;
std::list<int>::iterator it;
for(it = list->begin(); it != list->end(); it++) avg += *it;
avg /= list->size();
}
Run Code Online (Sandbox Code Playgroud)
C++标题:
static double CalculateAvg(const std::list<int> &list);
Run Code Online (Sandbox Code Playgroud)
它最有可能是从列表中计算平均值,但它符合很多错误.我试图在网上搜索解决方案,但我找不到任何东西.如果有人可以帮助我,我会很高兴的.
更新:感谢您的快速回复.接受的答案解决了我所有的问题.
我有一个DataGridView
包含三个不同的未绑定数据DataColumns
.行可以按每列进行排序,但除此之外不允许对显示的数据进行操作.
当我查询SelectedRows
属性时,行按照我最初插入它们的顺序排序,而不是像我在当前显示或选择的顺序中所期望的那样.有没有办法改变这种行为?
由于某些原因,下面的代码崩溃了IE6.就像IE是可怕的一样,我以前从未见过这个.有没有人有任何想法?
<div id="edit">
<?php
$a = $_POST['category'];
if ($a == "")
{
$a = $_GET['category'];
}
$result = mysql_query("SELECT * FROM media WHERE related_page_id = $a && type= 'copy'");
?>
<table width="460px;">
<tr>
<td>Item</td>
<td> </td>
<td> </td>
<td> </td>
<td>Associated Images</td>
</tr>
<tr>
<td colspan="5"> </td>
</tr>
<?php
while($row = mysql_fetch_array($result))
{
echo "<tr style='vertical-align:top'><td>$row[title]</td>";
echo "<td><a href='addimage.php?id=$row[id]&&category=$a'>Add image/file</a>";
echo "<td><a href='change.php?id=$row[id]&&category=$a'>edit</a></td>";
echo "<td><a href='delete.php?id=$row[id]&&category=$a'>delete</a></td>";
echo "<td>";
$id = $row['id'];
$result1 = mysql_query("SELECT * FROM media WHERE assets = $id");
while($row1 = mysql_fetch_array($result1)) …
Run Code Online (Sandbox Code Playgroud)