小编Pet*_*ner的帖子

如何启用多模式 emacs 来编写 PHP 程序而不弄乱我的缩进?

每当我HTMLPHP模式下缩进时,emacs (22.1.1, basic install on Redaht Linux over Putty-SSH)都会弹出一个框架并告诉我获取MUMODEsomesuch额外的附加组件。我安装了PHP模式,没有遇到太大的麻烦,但我不知道如何让这种多模式滚动。


我想知道 2 件事

How to install and configure multi-mode
How to disable pop-ups in Emacs
Run Code Online (Sandbox Code Playgroud)

php emacs

5
推荐指数
1
解决办法
4371
查看次数

如何发现我的delphi应用程序目前是否有模态窗口?

我有一个在我的Delphi MDI应用程序中运行的计时器,如果后台发生变化,我想用它来弹出一条消息.但是当应用程序在前台有一个模态对话框时,我不希望弹出该消息,因为用户无法对其进行任何操作.

所以我想知道的是如何检查我的应用程序中是否存在模态对话框?

delphi mdi modal-dialog

5
推荐指数
2
解决办法
4792
查看次数

Delphi 2009编译器如何处理递归内联方法?

" 使用内联函数有什么问题 "和" 递归函数可以内联 "是否适用于Delphi内联函数?此外,有谁知道如何在Delphi中处理递归内联函数?

delphi recursion inline-method delphi-2009

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

使用嵌入的dll作为资源启动程序时出现问题

我已经完成了在Delphi EXE中嵌入dll的About.com指南,这似乎有效,只要我实际上不使用DLL作为外部函数.无论如何,让我链接的代码比uses子句中引用的单元更早地工作.
我试过了:

  • 正是这个代码所说的.
  • 将此代码放在使用使用外部函数的单元的窗体的初始化部分中.
  • 将此代码放在使用外部函数的单元的初始化部分中.

通过外部函数,我指的是一个看起来像这样的函数:

function MyFunction: Integer; stdcall; external 'fundll.dll';
Run Code Online (Sandbox Code Playgroud)

我得到的问题是通常的'fundll.dll'无法加载(因为它不在目录中).当代码到达那么远时,Zarko的代码工作(相当甜,它在该文件夹中创建了dll).但是当我使用我需要的外部功能时,它只是在项目开始滚动之前就崩溃了.

delphi dll embedded-resource

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

将DLL分组以在Executable中使用

有没有办法分组一堆DLL,并仍然在运行时使用它们(不压缩).对不起,这个问题听起来简洁而愚蠢,但我不确定还要问什么.

我会解释一下情况:

我们有两个独立的Windows应用程序,现在我们的一个应用程序已经膨胀到如此笨拙的比例,以至于其他应用程序无法在第一个应用程序的范围之外运行.我们希望保留一些封装,同时让较小的程序进入一些较大程序的功能.

运行应用程序没有问题,除了我们不想发送较小项目所有的20-30个DLL.

delphi dll

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

如何在javascript函数中返回json对象?

我有这个功能

function getTags(level){
    $.getJSON("php/get-tags.php", { "parent": level }, function(json) {
        return json;
    });
}
Run Code Online (Sandbox Code Playgroud)

我把这个函数称为

$(function(){
    var tags = getTags('0');  
});
Run Code Online (Sandbox Code Playgroud)

问题是,在函数getTags()中返回json就像

{"tags":["Mathematics","Science","Arts","Engineering","Law","Design"]}

但是,在var tags = getTags('0')捕获返回值时,它会得到一个undefined值.

我返回值的方式不正确吗?

javascript jquery json function

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

使用实时弹出菜单最小化Delphi应用程序

我试图在计时器中运行它:

Application.Minimize;
ShowWindow( Application.handle, SW_HIDE );
Run Code Online (Sandbox Code Playgroud)

它永远存在于代码中,我们刚刚发现当弹出菜单处于活动状态时它不起作用,它不会最小化MDI父窗口.

我想如果我可以在运行此代码之前关闭弹出菜单,那么我会没事的.问题是,这段代码在MDI Parent中,我不知道当前弹出菜单在哪里.如果它是另一个表单工具栏的一部分并不重要,这会形成工具栏,右键单击的产品或空格键旁边看似无意义的键.

那么,有没有办法在我的整个程序中隐藏活动的弹出菜单?

此外,如果有比我正在使用的代码更好的代码块来解决这个问题,那也是很棒的信息.

delphi popupmenu minimize

3
推荐指数
1
解决办法
877
查看次数

TThread.Synchronize在Delphi 2009中导致(接近)死锁(在Delphi 7中工作)

在Delphi 2009中,在Delphi 7中正常工作的同步函数以崇高的速度执行,直到您在打开的表单上摆动鼠标.摆动鼠标会导致程序进入某些鼠标空闲状态CheckSynchronize(). CheckSynchronize()似乎在Delphi 2009中调用的频率低于Delphi 7,但我们无法弄清楚为什么或在哪里.

放置此代码:

    procedure TMyForm.FormCreate(Sender : TObject)
       Classes.WakeMainThread := WakeMainThread;
    end;

    procedure TMyForm.WakeMainThread(Sender: TObject);
    begin 
      SendMessage(Application.MainForm.Handle, WM_NULL, 0, 0);
    end;
Run Code Online (Sandbox Code Playgroud)

按正常速度加速.但我得到:EAccessViolation in module rtl120.bpl当线程在模态应用程序中使用时死亡(适用于简单的对话框实用程序).我猜测'Classes.WakeMainThread()'的调用与在Delphi 7中一样多,但是将WM_NULL发送到application.handle并没有完成任何事情.我想是时候'踩到'了.

delphi multithreading delphi-7 delphi-2009

3
推荐指数
1
解决办法
1913
查看次数

在Delphi中将TObjectList祖先转换为泛型集合

我上了课

TMyAwesomeList = class(TObjectList)
Run Code Online (Sandbox Code Playgroud)

哪个

 TAwesomeItem = class(TPersistent)
Run Code Online (Sandbox Code Playgroud)

其中TAwesomeItem几乎是一个抽象类

 TAwesomeItem1 = class(TAwesomeItem)
 TAwesomeItem2 = class(TAwesomeItem)
 TAwesomeItem3 = class(TAwesomeItem)
 TAwesomeItem3a = class(TAwesomeItem3)
Run Code Online (Sandbox Code Playgroud)

等等(大约30个子类,其中有一些中间抽象类)完成了一年前我实现的一些对象关系建模,期望最终从Delphi 7转换到2009(很快就是XE2).

该代码仍然适用于Delphi 2009,但我想做一个

 for AwesomeItem3a in AwesomeList do
 begin     
    //something awesome
 end;
Run Code Online (Sandbox Code Playgroud)

我不知道如何重组TMyAwesomeList(或添加几个子类)来实现这一目标.

delphi generics list delphi-2009

3
推荐指数
1
解决办法
905
查看次数

为什么我的单选按钮不透明?

我想让一个组框控制单选按钮的背景颜色,但单选按钮不透明.主题已启用,我将radibackground设置为true,用于radiobutton.

这就是我得到的:

Radiobutton不透明

我希望通过radiobutton显示蓝色渐变,而不使用任何颜色作为radiobutton的背景.

我正在调用这个方法,使用GDI +绘制组框:

procedure TMyRadio.PaintBackground(AParentColor : TColor; Graphics: IGPGraphics);
var
  ExpandedRect : TGPRect;
  Path : IGPGraphicsPath;
  GradientBrush : IGPPathGradientBrush;
  SurroundColors : array[0..0] of TGPColor;
begin

  ExpandedRect := TGPRect.Create(ExpandBorder(BoundsRect, 10));
  Path := TGPGraphicsPath.Create;
  Path.AddRectangle(ExpandedRect);
  GradientBrush :=  TGPPathGradientBrush.Create(Path);

  GradientBrush.CenterColor := TGPColor.Create(255,
                                               GetRValue(ColorToRGB(BackgroundColor)),
                                               GetGValue(ColorToRGB(BackgroundColor)),
                                               GetBValue(ColorToRGB(BackgroundColor))
                                               );

  SurroundColors[0].Initialize(0,
                               GetRValue(ColorToRGB(AParentColor)),
                               GetGValue(ColorToRGB(AParentColor)),
                               GetBValue(ColorToRGB(AParentColor))
                               );

  GradientBrush.SetSurroundColors(SurroundColors);
  Graphics.FillRectangle(GradientBrush, ExpandedRect);

end;
Run Code Online (Sandbox Code Playgroud)

从被覆盖的绘制功能,单选按钮所在的组框,它不通过单选按钮控件显示.我没有在其他任何地方设置radiobutton的颜色,我已经检查过,ParentBackground = true当它正在运行时.

delphi transparency radio-button

3
推荐指数
1
解决办法
1489
查看次数