小编LU *_* RD的帖子

Android NDK java.lang.UnsatisfiedLinkError:findLibrary返回null

您的Android JNI应用中出现上述错误?继续阅读......

在前面,我会说我已经用我自己的方式解决了这个问题,但是我觉得Android构建系统中的某些内容(可能是关于Eclipse)已经破了,我希望能够为其他人节省数小时的痛苦.也许其他人已经遇到过这个问题,可以评论对他们有用的东西.

有一段时间,我有一个Android项目,其中包含一些我使用NDK开发的JNI代码.然后,今天,我在java代码中改变了一些东西,然后poof,我再也无法加载我的JNI库了.它失败了,例如:

E/AndroidRuntime(999):java.lang.UnsatisfiedLinkError:无法加载mylibrary:findLibrary返回null

我用Google搜索并尝试了所有内容(重建,关闭和重新启动Eclipse等等)

什么最终解决了我的问题?在尝试另一次运行之前,我从设备上物理卸载了我的应用程序.而已.在那之后,它奏效了.什么对你有用?

java-native-interface android-ndk

51
推荐指数
7
解决办法
6万
查看次数

在Delphi中进行非闪烁,分段图形更新的最佳方法是什么?

我想我可以把它扔到那里然后问:我已经看到Delphi控件在图形效果方面完美无缺.含义:没有闪烁,分段更新(仅重绘标记为脏的控件部分)和平滑滚动.

我已经编写了很多多年来图形控制的,所以我知道双缓冲,DIBS,bitblts和所有的"共同"的东西(我一直使用的DIB如果可能的话绘制的一切,但有一个开销).还要了解InvalidateRect并检查需要更新的实际rect的TCanvas.ClipRect.尽管有这些典型的解决方案,但我发现创建与Developer Express或Razed Components相同质量的组件非常困难.如果图形是平滑的,你可以打赌滚动条(本机)闪烁,如果滚动条和框架是平滑的,你可以在滚动期间发誓背景闪烁.

是否有标准的代码设置来处理这个问题?一种确保平滑重绘整个控件的最佳实践 - 包括控件的非客户区域?

例如,这是一个"裸骨"控件,它为分段更新占用高度(仅重绘所需的内容).如果在表单上创建它,请尝试在其上移动一个窗口,然后观察它用颜色替换部件(请参阅绘制方法).

有没有人有类似的基类可以处理非客户区重绘而不闪烁?

type

TMyControl = Class(TCustomControl)
private
  (* TWinControl: Erase background prior to client-area paint *)
  procedure WMEraseBkgnd(var Message: TWmEraseBkgnd);message WM_ERASEBKGND;
Protected
  (* TCustomControl: Overrides client-area paint mechanism *)
  Procedure Paint;Override;

  (* TWinControl: Adjust Win32 parameters for CreateWindow *)
  procedure CreateParams(var Params: TCreateParams);override;
public
  Constructor Create(AOwner:TComponent);override;
End;


{ TMyControl }

Constructor TMyControl.Create(AOwner:TComponent);
Begin
  inherited Create(Aowner);
  ControlStyle:=ControlStyle - [csOpaque];
end;

procedure TMyControl.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);

  (* When a window has this style …
Run Code Online (Sandbox Code Playgroud)

delphi graphics winapi

45
推荐指数
4
解决办法
1万
查看次数

TThreadedQueue不具备多个消费者的能力?

尝试在单个生产者多个消费者方案中使用TThreadedQueue(Generics.Collections).(DELPHI-XE).我们的想法是将对象推入队列,让几个工作线程排空队列.

但它没有按预期工作.当两个或多个工作线程调用PopItem时,将从TThreadedQueue抛出访问冲突.

如果对PopItem的调用是使用临界区序列化的,那么一切都很好.

当然,TThreadedQueue应该能够处理多个消费者,所以我错过了什么或者这是TThreadedQueue中的一个纯粹的错误?

这是一个产生错误的简单示例.

program TestThreadedQueue;

{$APPTYPE CONSOLE}

uses
//  FastMM4 in '..\..\..\FastMM4\FastMM4.pas',
  Windows,
  Messages,
  Classes,
  SysUtils,
  SyncObjs,
  Generics.Collections;

type TThreadTaskMsg =
       class(TObject)
         private
           threadID  : integer;
           threadMsg : string;
         public
           Constructor Create( ID : integer; const msg : string);
       end;

type TThreadReader =
       class(TThread)
         private
           fPopQueue   : TThreadedQueue<TObject>;
           fSync       : TCriticalSection;
           fMsg        : TThreadTaskMsg;
           fException  : Exception;
           procedure DoSync;
           procedure DoHandleException;
         public
           Constructor Create( popQueue : TThreadedQueue<TObject>;
                               sync     : TCriticalSection);
           procedure Execute; override;
       end;

Constructor TThreadReader.Create( popQueue : …
Run Code Online (Sandbox Code Playgroud)

delphi queue delphi-xe delphi-xe2

43
推荐指数
2
解决办法
5994
查看次数

请安装mysql适配器'gem install activerecord-mysql-adapter'

我无法找到解决此问题的方法.我收到错误:

Please install the mysql adapter: 'gem install activerecord-mysql-adapter'

 /Users/ Andy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/rubygems_integration.rb:143:in `block in replace_gem': Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.) (LoadError)
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/mysql_adapter.rb:5:in `<top (required)>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `block in require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:48:in `resolve_hash_connection'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:39:in `resolve_string_connection'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:23:in `spec'
    from /Users/ Andy …
Run Code Online (Sandbox Code Playgroud)

mysql mysql2

40
推荐指数
6
解决办法
7万
查看次数

TLabel和TGroupbox Captions在调整大小时闪烁

  • 所以,我有一个应用程序加载不同的插件,并在TPageControl上为每个插件创建一个新选项卡.
  • 每个DLL都有一个与之关联的TForm.
  • 使用父hWnd创建表单作为新的TTabSheet.
  • 由于就VCL而言,TTabSheets不是表单的父级(不想使用动态RTL和其他语言的插件),我必须手动处理调整大小.我这样做如下:

    var
      ChildHandle : DWORD;
    begin
      If Assigned(pcMain.ActivePage) Then
        begin
        ChildHandle := FindWindowEx(pcMain.ActivePage.Handle, 0, 'TfrmPluginForm', nil);
        If ChildHandle > 0 Then
          begin
          SetWindowPos(ChildHandle, 0, 0, 0, pcMain.ActivePage.Width, pcMain.ActivePage.Height, SWP_NOZORDER + SWP_NOACTIVATE + SWP_NOCOPYBITS);
        end;
      end;
    
    Run Code Online (Sandbox Code Playgroud)

现在,我的问题是当应用程序调整大小时,TGroupBox中的所有TGroupBox和TLabel都会闪烁.不在TGroupboxes内的TLabel很好,不会闪烁.

我试过的事情:

  • WM_SETREDRAW后跟一个RedrawWindow
  • TGroupBoxes和TLabels上的ParentBackground设置为False
  • DoubleBuffer:= True
  • LockWindowUpdate(是的,即使我知道这是非常错的)
  • 透明:= False(甚至覆盖create来编辑ControlState)

有任何想法吗?

delphi groupbox flicker tpagecontrol delphi-xe

21
推荐指数
2
解决办法
7247
查看次数

如何解决此错误:src-resolve:无法将名称'j2ee:descriptionType'解析为(n)'类型定义'组件.

我正进入(状态

"src-resolve:无法将名称'j2ee:descriptionType'解析为(n)'类型定义'组件."

我的xsd文件中的这个错误.

请帮我解决这个问题.

xsd

18
推荐指数
1
解决办法
6万
查看次数

访问Delphi类的严格受保护属性?

我需要访问一个严格的受保护属性,因为我需要创建一个验证(基于此属性的值)以避免错误.(我没有具有此属性的第三方类的源代码)只有我有类(接口)和dcu的定义(所以我无法更改属性可见性).问题是存在一种访问严格受保护财产的方法吗?(我真正读懂了Hallvard Vassbotn博客,但我不觉得这个特定主题参选.)

delphi class-helpers delphi-xe

16
推荐指数
2
解决办法
4217
查看次数

修补实例类要求基类在同一个单元中?

我正在使用以下函数来修补现有对象的实例类.原因是我需要修补第三方类的受保护功能.

procedure PatchInstanceClass(Instance: TObject; NewClass: TClass);
type
  PClass = ^TClass;
begin
  if Assigned(Instance) and Assigned(NewClass)
    and NewClass.InheritsFrom(Instance.ClassType)
    and (NewClass.InstanceSize = Instance.InstanceSize) then
  begin
    PClass(Instance)^ := NewClass;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,只有在我自己的单元中定义基类时,代码才有效.为什么?是否有一种解决方法可以让它在没有它的情况下工作?

这不起作用

 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, wwdblook, Wwdbdlg;

type
  TwwDBLookupComboDlg = class(Wwdbdlg.TwwDBLookupComboDlg); // This is necessary
  TForm1 = class(TForm)
    Button1: TButton;
    wwDBLookupComboDlg1: TwwDBLookupComboDlg;
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

type
  TButtonEx = class(TButton)
  end;

  TwwDBLookupComboDlgEx = class(TwwDBLookupComboDlg)
  end; …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-2007

16
推荐指数
1
解决办法
415
查看次数

编译XNA项目时,无法执行请求的操作错误

第二次编译项目时,我收到以下错误消息.我必须关闭VS 2010并在重新加载时进行编译.如果我做出改变,那么问题就会出现.

"无法复制文件"obj\x86\Debug\MyFile.dll".无法对打开用户映射部分的文件执行请求的操作."

c# msbuild xna compiler-errors visual-studio-2010

15
推荐指数
2
解决办法
6530
查看次数

故事板,UIViewController和UISplitViewController

试图为iPad制作基于故事板的应用程序.在其中我需要从开始屏幕(UIViewController)转换到主屏幕(UISplitViewController)然后转换到全屏视图(再次UIViewController).

我在网上看到了很多讨论(至少有几个 - 关于stackoverflow),说明UISplitViewController不能在基于Storyboard的应用程序中以任何其他方式使用,而不是RootViewController.一些线程包含解决方法,还有替代splitview(https://github.com/mattgemmell/MGSplitViewController)来处理这个问题.

但我无法理解的是,为什么Apple文档恰恰相反.这是Apple iOS 5.0库中章节的链接.它指出:


使用故事板创建拆分视图控制器

要将拆分视图控制器添加到应用程序的故事板:

  1. 打开应用程序的主要故事板.
  2. 将拆分视图控制器拖出库.这还为分割视图控制器的两个窗格创建视图控制器.
  3. 对于每个拆分视图控制器包含的视图控制器,使用标识检查器设置视图控制器的类名称.

要显示拆分视图界面,​​请执行以下操作之一:

  • 通过选择场景并选中"属性"检查器下的"是初始视图控制器"框,将其显示为第一个场景.
  • 通过向其添加模态segue,从另一个场景中显示它.
  • 通过调用performSegueWithIdentifier:sender:方法以编程方式显示它以启动模态segue.

我在很多方面尝试过它,但最后两个语句中描述的方法从未奏效.modal segue和performSegue都失败了,众所周知的错误:

"***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'应用程序试图以模态方式呈现拆分视图控制器......"

有人能够解释一下吗?这是XCODE/iOS 5.0中的错误还是文档中的错误?

此致,彼得

storyboard uiviewcontroller uisplitviewcontroller segue

15
推荐指数
1
解决办法
8988
查看次数