小编Joh*_*ica的帖子

你怎么称呼这种JavaScript语法,所以我可以研究它?

1)在下面的代码中,创建gameOfLive变量的原因是function gameOfLife()什么?

2)什么是gol?它看起来像一个数组,但我不熟悉语法或它所谓的.

我正在学习http://sixfoottallrabbit.co.uk/gameoflife/

if (!window.gameOfLife) var gameOfLife = function() {

    var gol = {
        body: null,
        canvas: null,
        context: null,
        grids: [],
        mouseDown: false,
        interval: null,
        control: null,
        moving: -1,
        clickToGive: -1,
        table: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(''),
        tableBack: null,

        init: function(width, height) {
            gol.body = document.getElementsByTagName('body')[0];
            gol.canvas = document.createElement('canvas');
            if (gol.canvas.getContext) {
                gol.context = gol.canvas.getContext('2d');
                document.getElementById('content').appendChild(gol.canvas);
                gol.canvas.width = width;
                gol.canvas.height = height;
                gol.canvas.style.marginLeft = "8px";

                gol.control = document.getElementById('gridcontrol');

                gol.canvas.onmousedown = gol.onMouseDown;
                gol.canvas.onmousemove = gol.onMouseMove;
                gol.canvas.onmouseup …
Run Code Online (Sandbox Code Playgroud)

javascript conways-game-of-life

8
推荐指数
2
解决办法
806
查看次数

Delphi麻烦:排序Tobjectlist <>

我想使用内置的排序方法对我的通用tobjectlist进行排序.

这是我做的:

//create the list object
myList := TObjectList<MyType>.Create(false);   

[...] //populate the list with unsorted entries

//sort the list
myList.sort(@Comparer);

[...]//store sorted results back to array

myList.Destroy;
Run Code Online (Sandbox Code Playgroud)

我的Comparer函数如下所示:

function Comparer(Item1, Item2 : pointer):integer;
begin
  result := myCompare(item1, item2);
end;
Run Code Online (Sandbox Code Playgroud)

根据规格,它应该像这样工作.

我得到一个编译器错误E2250 没有这些参数存在'Sort'的重载版本(确切的措辞不同,我使用非英文版的RAD Studio)

我不知道为什么这不应该是有效的Pascal - 你们中的任何人都有洞察力分享这个吗?

delphi sorting generics tobjectlist delphi-2010

8
推荐指数
2
解决办法
8359
查看次数

如何在不使用ShareMem Unit的情况下将动态数组字符串传递给dll库(d7和d7编写的客户端)?

我在这个页面上看到动态数组需要ShareMem单元才能正常工作.

不过,我想为其他语言编写一个dll.

谁能告诉我如何声明函数及其参数来传递String数组?

没有ShareMem,是不是真的不允许这样的事情?

var
  templates : array of WideString;
begin
  SetLength(templates, 2); 
  templates[0] := 'template1';
  templates[1] := 'template2';
end
DLLFunction(@templates[0]); 
Run Code Online (Sandbox Code Playgroud)

感谢帮助!

arrays delphi string dll delphi-7

8
推荐指数
1
解决办法
2183
查看次数

选择两列之间的日期

我需要SQL中的查询.
如果我有两列STARTDATEEND_DATE.
我想选择日期介于这两个日期之间的所有行.

例如:startdate = 1/1/2011 AND enddate = 2/2/2011.

sql

8
推荐指数
2
解决办法
4万
查看次数

为什么我不能在for循环中使用Int64?

我可以for..do为整数值编写进程..但是我不能为int64值写它.例如:

var
  i:int64;
begin
  for i:=1 to 1000 do 
end; 
Run Code Online (Sandbox Code Playgroud)

编译器拒绝编译它,为什么拒绝?

delphi

8
推荐指数
3
解决办法
1610
查看次数

IDE生成的USEFORM宏调用改变了它们的顺序

我们有一个C++ Builder XE项目(VCL Forms Application),里面有几十个表单和单元.每当添加,删除或重命名属于项目的文件时,IDE都应该做两件事:

  1. 如果受影响的单元是表单或框架,则在项目源文件(ProjectName.cpp)中添加或更改对USEFORM宏的调用
  2. 添加或更改项目文件(ProjectName.cbproj)中的CppCompile元素

但是,IDE不是仅进行必要的更改,而是对现有的USEFORM和CppCompile记录进行洗牌,即使它们不受更改的影响.如果我添加一个单元(cpp和头文件),即使不需要对项目源进行任何更改,也只需要对cbproj文件进行任何更改,USEFORM都会被洗牌.

我没有看到新订单如何形成的具体模式.如果我编辑或重命名一个单元,大约一半的USEFORMs似乎改变了位置,只改变了一对或没有CppCompile记录.如果在两台不同的机器上对项目副本进行了更改,则大多数更改似乎都相似,但并非全部.这表明重新排序不是随机的.

使用Subversion合并更改时,该行为会导致问题,因为它会强制手动解决更改顺序造成的冲突.

所以问题是:什么可能导致上述行为以及如何摆脱它?

ide c++builder c++builder-xe

8
推荐指数
1
解决办法
876
查看次数

致命错误:xxx/xxx/xxx/xxx中允许的内存大小为67108864字节(尝试分配39个字节)

我在godaddy主持了一个drupal网站.但现在有一天,我正在与最奇怪的问题作斗争"致命错误:允许的内存大小为67108864字节耗尽(试图分配39字节)xxx/xxx/xxx/xxx".我正在靠墙攻击解决这个问题,但没有什么对我有用.它始终显示此错误,无论是安装新模块,删除模块,清除缓存还是添加文章等,几乎在所有情况下都显示允许内存大小耗尽错误.我也通过我的php.ini文件并更改memory_limit = 128M,但这个错误并不是我在drupal世界中生活的.请帮忙解决这个问题..

这是我的phpinfo:

在此输入图像描述

我已经将php.ini中的memory_limit从64MB增加到128MB,但它没有反映在我的服务器中.当我去https://www.ginfy.com.phpinfo.php时它仍然显示64MB.

php fatal-error drupal-7

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

在类型声明中= do后键入什么

在mORMot的SynCommons.pas中,有以下代码片段:

type
  ....
  TTimeLog = type Int64;
             ^^^^
Run Code Online (Sandbox Code Playgroud)

第二个type关键字的目的是什么(在前面Int64)?

delphi

8
推荐指数
1
解决办法
185
查看次数

接口方法总是虚拟的吗?

编译以下代码时出现错误:

TOmniParallelSimplePooledLoop = class(TOmniParallelSimpleLoop)
  procedure Execute(loopBody: TOmniIteratorSimpleSimpleDelegate); overload; override;
Run Code Online (Sandbox Code Playgroud)

[dcc64 Error] OtlParallel.pas(846):E2170无法覆盖非虚方法

如果我将祖先方法设为虚拟,那么错误就会消失.

但是祖先方法声明在:

IOmniParallelSimpleLoop
  ...
  procedure Execute(loopBody: TOmniIteratorSimpleSimpleDelegate); overload;
Run Code Online (Sandbox Code Playgroud)

基本方法TOmniParallelSimpleLoop从非虚拟到虚拟的重新声明是否会更改基类型,或者是已经虚拟的方法(由于它是接口方法的实现)?

换句话说:当接口方法从非虚拟变为虚拟时,编译器会输出不同的代码吗?

基本MSVC重新创建错误

program Project70;
{$APPTYPE CONSOLE}
uses
  System.SysUtils;

type
  I1 = interface
    procedure DoSomething;
  end;

  T1 = class(TInterfacedObject, I1)
    procedure DoSomething;
  end;

  T2 = class(T1)
    procedure DoSomething; override;
  end;

procedure T1.DoSomething;
begin
  WriteLn('parent');
end;

procedure T2.DoSomething;
begin
  Writeln('Child');
end;

begin
end.
Run Code Online (Sandbox Code Playgroud)

delphi virtual interface class

8
推荐指数
1
解决办法
438
查看次数

从Delphi中的类引用变量访问类常量

我正在使用Delphi 2007来维护一个旧项目,我在从Class Reference变量访问类常量时遇到问题,我总是得到父类常量而不是子类常量.

假设有一个父类,一些子类,一个类引用,最后是一个const数组来存储类引用以进行循环.

看看以下简单的程序:

program TestClassConst;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type

  TParent = class
  const
    ClassConst = 'BASE CLASS';
  end;

  TChild1 = class(TParent)
  const
    ClassConst = 'CHILD 1';
  end;

  TChild2 = class(TParent)
  const
    ClassConst = 'CHILD 2';
  end;

  TParentClass = class of TParent;
  TChildClasses = array[0..1] of TParentClass;

const
  ChildClasses: TChildClasses = (TChild1, TChild2);

var
  i: integer;
  c: TParentClass;
  s: string;

begin
  try
    writeln;

    writeln('looping through class reference array');
    for i := low(ChildClasses) to high(ChildClasses) do begin
      c := …
Run Code Online (Sandbox Code Playgroud)

delphi inheritance const class-constants

8
推荐指数
1
解决办法
1221
查看次数