我正在使用UIImagePickerController来允许我的用户从资产库中选择一个视频.
当用户选择第二个屏幕上的"选择"按钮时,视图显示进度条和"压缩视频..."消息.
为什么会这样?
有什么办法可以避免这种压缩操作吗?
我继承了一个似乎是使用NetBeans IDE开发的java项目.
它包含一个nbproject子目录.
当我尝试使用NetBeans 6.9打开项目时,它会在"项目名称"文本框中报告以下错误:
<unrecognized project; missing plug-in?>
Run Code Online (Sandbox Code Playgroud)
如何确定要查找的插件?
哪些视频格式与iPhone的资产库兼容?
换句话说,对于什么视频格式,ALAssetsLibrary的videoAtPathIsCompatibleWithSavedPhotosAlbum会返回YES?
我似乎无法在iPhone参考库中找到有关此信息的任何信息.
我正在尝试理解Objective-C属性,并且我对它们的语法有一些挥之不去的问题.
明确为这样的属性声明一个ivar有什么区别:
@interface myObject1 : NSObject {
NSString *title;
}
@property (copy) NSString *title;
@end
Run Code Online (Sandbox Code Playgroud)
还有这个:
@interface myObject2 : NSObject {
}
@property (copy) NSString *title;
@end
Run Code Online (Sandbox Code Playgroud)
myObject2示例似乎有效.是否可以在myObject2中实现属性,或者是否应始终明确定义关联的ivar?
没有明确宣布伊娃的影响是什么?
我正在使用UIImagePickerController来允许我的用户从资产库中选择一个视频.
最初显示UIImagePickerController时,它会显示已录制的各种电影的缩略图.
一旦用户选择了电影,它就会显示一个"预览"视图,允许它们播放并可能编辑所选的电影.
有没有办法避免显示此视图,而是返回在缩略图屏幕上选择的电影?
这是我正在使用的代码:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
imagePicker.allowsEditing = NO;
[self presentModalViewController:imagePicker animated:YES];
Run Code Online (Sandbox Code Playgroud) 我最近参与了一个使用SQL Server 2000进行数据存储的新软件项目.
在审查项目时,我发现其中一个主表在其主键上使用聚簇索引,该索引由四列组成:
Sequence numeric(18, 0)
Date datetime
Client varchar(9)
Hash tinyint
Run Code Online (Sandbox Code Playgroud)
该表在正常操作过程中经历了大量插入.
现在,我是一名C++开发人员,而不是数据库管理员,但我对此表设计的第一印象是,将这些字段作为聚簇索引对插入性能非常不利,因为数据必须在物理上重新排序每个插入.
另外,我不能真正看到任何好处,因为人们必须经常查询所有这些字段以证明聚簇索引的合理性,对吧?
因此,基本上我需要一些弹药,以便在我找到能够说服他们应该改变桌子设计的能力时.
我们看到在IIS 7服务器上运行的ASP.NET上下文中的以下代码块中发生此异常.
1) Exception Information
*********************************************
Exception Type: System.Exception
Message: Exception Caught in Application_Error event
Error in: InitializationStatus.aspx
Error Message:An item with the same key has already been added.
Stack Trace: at
System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at CredentialsSession.GetXmlSerializer(Type serializerType)
Run Code Online (Sandbox Code Playgroud)
这是发生异常的代码:
[Serializable()]
public class CredentialsSession
{
private static Dictionary<string, System.Xml.Serialization.XmlSerializer> localSerializers = new Dictionary<string, XmlSerializer>();
private System.Xml.Serialization.XmlSerializer GetXmlSerializer(Type serializerType)
{
string sessionObjectName = serializerType.ToString() + ".Serializer";
if (Monitor.TryEnter(this))
{
try
{
if (!localSerializers.ContainsKey(sessionObjectName))
{
localSerializers.Add(sessionObjectName, CreateSerializer(serializerType));
}
}
finally …Run Code Online (Sandbox Code Playgroud) 我们有一个包含数千个表单的Windows窗体应用程序.
其中许多通过ShowDialog()方法临时显示为对话框.
这个应用程序已存在多年,我们发现由于表单中的各种资源泄漏或它使用的控件,许多表单没有及时收集垃圾.
具体来说,我们已经找到了未正确处理的GDI +资源的示例,尽管可能还有其他类型的资源泄漏尚未被描述.
虽然解决这个问题的正确方法显然是要经历每一种形式和每一种控制,并消除所有的资源问题.这需要一些时间来完成.
作为一个短期的替代方案,我们发现在表单上显式调用Dispose()似乎启动了垃圾收集过程,并且表单及其资源立即被释放.
我的问题是,在一个using语句中包装每个表单的ShowDialog()块是否是一个合理的解决方法,以便在显示表单后调用Dispose(),这也是一个很好的做法吗?
例如,从以下位置更改现有代码:
public void ShowMyForm()
{
MyForm myForm = new MyForm();
myForm.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
对此:
public void ShowMyForm()
{
using (MyForm myForm = new MyForm())
{
myForm.ShowDialog();
}
}
Run Code Online (Sandbox Code Playgroud)
在我们的测试中,第一个示例永远不会调用MyForm的Dispose()方法,但第二个示例会立即调用它.
当我们花时间追踪每个特定的资源问题时,这似乎是一种合理的方法作为短期解决方法吗?
我们是否可以考虑采用其他方法来确定和解决这些类型的资源问题的短期解决方法和/或方法?
c# garbage-collection using-statement resource-leak winforms
我的团队负责维护遗留的ASP.NET Webforms Web应用程序项目.
我们目前正在使用Visual Studio 2010,该项目的目标是.NET Framework 4.0.
该项目有200多个ASCX控件和近900个RESX资源文件.它生成一个包含超过2000个文件的Temporary ASP.NET Files文件夹.
在这些临时文件中,有121个.cmdline文件,151个.compiled文件,64个.delete文件,121个.err文件(全部为0个字节),121个.out文件,59个.pdb文件,121个.tmp文件,和246 .cs文件.
当我们开始调试项目时,它似乎需要永远加载(大约5分钟左右).
调试输出窗口显示许多类似于以下内容的行:
'w3wp.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\project\c8633237\88f5a808\App_Web_snat3rsu.dll'
Run Code Online (Sandbox Code Playgroud)
这些线条看起来很慢,大约每秒一行,直到第一页加载为止.
一旦第一页加载到浏览器中,项目性能似乎合理,但到达那里似乎需要非常长的时间.
我正在寻找有关如何改善此项目的加载时间的建议.
我担心这个项目有一些根本性的问题需要解决,因为它需要5分钟才能加载到调试器中似乎是不合理的.
我有一个名字集合,我需要将它们组合成逗号分隔的字符串.
生成的字符串需要遵循正确的语法.
如果集合包含一个名称,那么输出应该只是该名称:
John
Run Code Online (Sandbox Code Playgroud)
如果集合包含两个名称,那么输出应该用单词"and"分隔:
John and Mary
Run Code Online (Sandbox Code Playgroud)
如果集合包含三个或更多名称,则输出应以逗号分隔,并且姓氏应在其前面包含单词"and":
John, Mary, and Jane
Run Code Online (Sandbox Code Playgroud)
这是我想出的代码.它不是很优雅,我想知道在C#中是否有更好的方法来实现这一点(4.0可以).
List<string> firstNames = new List<string>();
firstNames.Add("John");
firstNames.Add("Mary");
firstNames.Add("Jane");
string names = string.Empty;
for (int i = 0; i < firstNames.Count; i++)
{
if (i == 1 && firstNames.Count == 2)
{
names += " and ";
}
else if (firstNames.Count > 2 && i > 0 && i != firstNames.Count - 1)
{
names += ", ";
}
else if (i != 0 && i == …Run Code Online (Sandbox Code Playgroud) 我有一个.NET应用程序,我想在VM上安装以进行远程调试.
该应用程序使用本机VC++ DLL,通过DLL链接到MFC和MSVC运行时库.
当我运行依赖于VM时,它说DLL需要以下DLL:
mfc90d.dll
msvcm90d.dll
msvcp90d.dll
msvcr90d.dll
msjava.dll
Run Code Online (Sandbox Code Playgroud)
此外,它报告以下错误:
错误:[dll path]的Side-by-Side配置信息包含错误.此应用程序无法启动,因为应用程序配置不正确.重新安装应用程序可能会解决此问题(14001).
我不想在VM上安装完整的Visual Studio 2008只是为了调试它.
将所需的DLL安装到VM上的最佳方法是什么?
dll remote-debugging visual-studio-2008 visual-c++ visual-c++-installer
我一直在追踪内存泄漏,我把它缩小到一个在UserControl派生类中分配的ToolTip.
ToolTip在控件的构造函数中分配,并在Load事件中初始化,如下所示:
public class CommonProfile : System.Windows.Forms.UserControl
{
private ToolTip toolTip1;
...
public CommonProfile()
{
InitializeComponent();
// Create the ToolTip and associate with the Form container.
toolTip1 = new ToolTip(this.components);
}
private void CommonProfile_Load(object sender, System.EventArgs e)
{
// Set up the delays for the ToolTip.
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
// Force the ToolTip text to be displayed whether or not the form is active.
toolTip1.ShowAlways = true;
// Set up the ToolTip text
toolTip1.SetToolTip(this.btnDeleteEntry, …Run Code Online (Sandbox Code Playgroud) 我确定之前已经问过这个问题,但是我搜索过并找不到答案.
有没有什么办法可以在Visual Studio 2008中调试时启用表单编辑?
目前,当我调试时,所有控件和属性都被锁定以防止编辑.当我调试并尝试调整表单时,这非常烦人.
我可以在某处更改设置以允许此操作吗?
c# ×5
.net ×4
iphone ×4
.net-4.0 ×2
movie ×2
video ×2
winforms ×2
asp.net ×1
compression ×1
dictionary ×1
dll ×1
iis ×1
indexing ×1
java ×1
netbeans ×1
objective-c ×1
sql-server ×1
string ×1
visual-c++ ×1
webforms ×1