小编Dal*_*kar的帖子

如何将ScanLine属性用于24位位图?

如何使用ScanLine属性进行24位位图像素操作?为什么我更喜欢使用它而不是经常使用的Pixels属性?

delphi image-processing

32
推荐指数
1
解决办法
2万
查看次数

Delphi中"声明类型"的含义以及如何使用它

有一些奇怪的代码Datasnap.DSReflect单元

  TDSAdapterClassType = type of TDSAdapterClass;

  TDSAdapterClass = class(TPersistent)
  private
    FAdapteeInstance: TObject;
  public
    constructor Create(AdapteeInstance: TObject); virtual;
  end;
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它

var
  AdapteeInstance: TObject;
  FClassRef: TPersistentClass;

  Result := TDSAdapterClassType(FClassRef).Create(AdapteeInstance);
Run Code Online (Sandbox Code Playgroud)

乍一看,它似乎就像宣布类引用的另一种方式.但逻辑意味着在不增加更多功能的情况下引入语言构造的这种变体是没有意义的.遵循该逻辑我发现以下声明编译:

type
  TypeOfInteger = type of Integer;
  TypeOfByte = type of Byte;

  TRec = record
    x: integer;
  end;
  TypeOfTRec = type of TRec;

  TBytes = array of byte;
  TypeOfTBytes = type of TBytes;
Run Code Online (Sandbox Code Playgroud)

有趣的是,以下声明无法编译.

type
  TypeOfString = type of String;
Run Code Online (Sandbox Code Playgroud)

所以问题是type of实际代表什么以及它如何在现实生活中应用,除了作为某种别名class of

注意: type of在Delphi 7中没有编译,似乎它是后来介绍的,它最终在XE中存在,但是我没有安装Delphi …

delphi

24
推荐指数
3
解决办法
1301
查看次数

不是封闭的类错误Android Studio

我是android开发的新手,并且没有深入的Java知识.我长期困在一个问题上.我正在尝试按下按钮打开一个新活动.但我得到一个错误错误:不是封闭的类:Katra_home.

这是MainActivity.java的代码

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btn=(Button)findViewById(R.id.bhawan1);
   btn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent myIntent = new Intent(Katra_home.this, Katra_home.class);
            Katra_home.this.startActivity(myIntent);
        }
    });
Run Code Online (Sandbox Code Playgroud)

这是Katra_home.java的代码

public class Katra_home extends BaseActivity {

protected static final float MAX_TEXT_SCALE_DELTA = 0.3f;

private ViewPager mPager;
private NavigationAdapter mPagerAdapter;
private SlidingTabLayout mSlidingTabLayout;
private int mFlexibleSpaceHeight;
private int mTabHeight;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.katra_home);

    ActionBar ab = getSupportActionBar();
    if (ab …
Run Code Online (Sandbox Code Playgroud)

java android android-intent android-activity android-studio

24
推荐指数
2
解决办法
9万
查看次数

为什么对象表达式中的代码可以从kotlin中包含它的范围访问变量?

在Kotlin中,对象表达式中的代码可以从包含它的作用域访问变量,就像下面的代码一样:

fun countClicks(window: JComponent) {
   var clickCount = 0
   var enterCount = 0
   window.addMouseListener(object : MouseAdapter() {
    override fun mouseClicked(e: MouseEvent) {
        clickCount++
    }

    override fun mouseEntered(e: MouseEvent) {
        enterCount++
    }
   })
}
Run Code Online (Sandbox Code Playgroud)

但为什么?在Java中,不允许这样做,因为对象的生命周期与局部变量不同,因此当您尝试访问对象时,enterCount或者clickCount可能无效.有人能告诉我Kotlin是怎么做到的吗?

kotlin

19
推荐指数
4
解决办法
4634
查看次数

无法将'NSRange'(又名'_NSRange')类型的值转换为预期类型'Range <Index>'(又名'Range <String.CharacterView.Index>')

检查字符串字符的范围时出现此错误...

@objc func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    let shouldChange = false
    let text = textField.text
    var newString = text!.stringByReplacingCharactersInRange(range, withString: string) as? NSString
    if newString.length > 14{
        newString = newString.substringToIndex(14)
    }
    textField.text = newString.uppercaseString

    return shouldChange
}
Run Code Online (Sandbox Code Playgroud)

ios nsrange swift

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

适用于Android Studio项目的Mercurial .hgignore

使用Android Studio(1.0 RC4 Windows)进行开发时,Mercurial中应忽略哪些文件?

创建新的应用程序项目也会创建.gitignore文件 我已将其翻译为以下.hgignore文件

syntax: glob
.hgignore
.gradle
local.properties
.idea/workspace.xml
.idea/libraries
.DS_Store
build
Run Code Online (Sandbox Code Playgroud)

但是,当我Add to VCS为我的项目做时,一些不在忽略列表中的文件没有被添加到Mercurial.遗漏的文件是:

.idea\.name
.idea\compiler.xml
.idea\copyright\profiles_settings.xml
.idea\encodings.xml
.idea\gradle.xml
.idea\misc.xml
.idea\modules.xml
.idea\scopes\scope_settings.xml
.idea\vcs.xml
build.gradle
MyApplication.iml
gradle.properties
gradle\wrapper\gradle-wrapper.jar
gradle\wrapper\gradle-wrapper.properties
gradlew
gradlew.bat
settings.gradle
Run Code Online (Sandbox Code Playgroud)

我应该将这些文件添加到忽略列表中,还是应该将它们添加到VCS中?

还不清楚应该如何处理.iml文件.使用AS向Mercurial添加项目将添加app\app.iml文件,但使用AS将项目添加到Git将使该文件不受限制.

我不想跟踪VCS中多余的文件,但我不想错过存储重要文件.有许多来源应该跟踪哪些文件,但信息差别很大,很难得出任何明确的结论.

更新:我的.hgignore文件的最终版本

syntax: glob
.hgignore
.gradle
local.properties
.idea
.DS_Store
build
*.iml
gradlew
gradlew.bat
Run Code Online (Sandbox Code Playgroud)

为了在开发人员之间共享项目,必须将文件提交到VCS,否则AS将无法在另一台计算机上导入项目:

gradle.properties
gradle\wrapper\gradle-wrapper.jar
gradle\wrapper\gradle-wrapper.properties
Run Code Online (Sandbox Code Playgroud)

mercurial android hgignore android-studio

17
推荐指数
2
解决办法
7684
查看次数

什么是Swift中的DarwinBoolean类型

我已经编写Boolean而不是Bool在一些Swift代码中,Xcode让我替换它DarwinBoolean.

问题是,究竟是DarwinBoolean什么?

比较BoolObjCBool类型有什么不同.它的目的是什么?

swift

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

为什么例外没有被尝试抓住...除了结束;?

我有这个代码(在iOS下使用Delphi Tokyo运行):

procedure TMainForm.Button1Click(Sender: TObject);
var aData: NSData;
begin    
  try    
      try
        aData := nil;
      finally
        // this line triggers an exception
        aData.release;
      end;    
  except
    on E: Exception do begin
      exit;
    end;
  end;

end;
Run Code Online (Sandbox Code Playgroud)

通常,异常应该在except end块中捕获,但在这种情况下,它不会被处理程序捕获并且会传播到Application.OnException处理程序.

地址0000000100EE9A8C的访问冲突,访问地址0000000000000000

我错过了什么?

delphi firemonkey delphi-10.2-tokyo

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

我应该在Swift游乐场的.gitignore文件中包含哪些内容?

我想使用Git对我的游乐场进行版本控制,但我不确定应该忽略哪些文件以及应该提交哪些文件.

目前我使用以下.gitignore文件进行游乐场:

# Xcode user data
xcuserdata
Run Code Online (Sandbox Code Playgroud)

那应该还有什么?

git xcode gitignore swift swift-playground

14
推荐指数
2
解决办法
4703
查看次数

通过移动数据Firebase匿名身份验证失败

当设备通过移动数据连接连接时,我遇到Firebase身份验证问题.如果通过WiFi认证连接工作正常.

我使用以下代码进行身份验证:

public class MyAuthActivity extends Activity
{
    protected FirebaseAuth auth;
    protected FirebaseAuth.AuthStateListener authListener;

    protected FirebaseUser user;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        auth = FirebaseAuth.getInstance();

        authListener = new FirebaseAuth.AuthStateListener()
        {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth)
            {
                user = firebaseAuth.getCurrentUser();
                if (user != null)
                {
                    // User is signed in
                    Log.d("APP", "onAuthStateChanged:signed_in: " + user.getUid());
                }
                else
                {
                    // User is signed out
                    Log.d("APP", "onAuthStateChanged:signed_out");
                }
            }
        };
        auth.addAuthStateListener(authListener);

        auth.signInAnonymously()
                .addOnFailureListener(this, new OnFailureListener()
                {
                    @Override
                    public void onFailure(@NonNull …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication

12
推荐指数
1
解决办法
956
查看次数